<SEC-DOCUMENT>0001410578-25-001113.txt : 20250509
<SEC-HEADER>0001410578-25-001113.hdr.sgml : 20250509
<ACCEPTANCE-DATETIME>20250508174906
ACCESSION NUMBER:		0001410578-25-001113
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		84
CONFORMED PERIOD OF REPORT:	20250331
FILED AS OF DATE:		20250509
DATE AS OF CHANGE:		20250508

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			INNODATA INC
		CENTRAL INDEX KEY:			0000903651
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-COMPUTER PROCESSING & DATA PREPARATION [7374]
		ORGANIZATION NAME:           	06 Technology
		EIN:				133475943
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		55 CHALLENGER ROAD
		STREET 2:		SUITE 202
		CITY:			RIDGEFIELD PARK
		STATE:			NJ
		ZIP:			07660
		BUSINESS PHONE:		201 371 8000

	MAIL ADDRESS:	
		STREET 1:		55 CHALLENGER ROAD
		STREET 2:		SUITE 202
		CITY:			RIDGEFIELD PARK
		STATE:			NJ
		ZIP:			07660

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	INNODATA ISOGEN INC
		DATE OF NAME CHANGE:	20031117

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	INNODATA CORP
		DATE OF NAME CHANGE:	19930505
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>inod-20250331x10q.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 10.10.0.1 -->
<!-- Based on: iXBRL 1.1 -->
<!-- Created on: 5/7/2025 10:51:07 PM -->
<!-- iXBRL Library version: 1.0.9179.3415 -->
<!-- iXBRL Service Job ID: 0d6893a6-98a4-47f6-a34a-e1105539dafe -->
<html xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:inod="http://www.innodata-isogen.com/20250331" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2024" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2022-02-16" xmlns:xbrldi="http://xbrl.org/2006/xbrldi"><head><meta content="text/html" http-equiv="content-type"/><title>INNODATA&#160;INC._March 31, 2025</title></head><body><div style="margin-top:30pt;"></div><div style="display:none;"><ix:header><ix:hidden><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityCentralIndexKey" id="Tc_cuoBRkALzUiSLUjx9Jd5qg_2_1">0000903651</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:CurrentFiscalYearEndDate" id="Tc__Hb1h8sodkmXUtn8ho2nkQ_3_1">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:DocumentFiscalYearFocus" id="Tc_Om0u1yBwo0CGtS5nIInaEw_4_1">2025</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:DocumentFiscalPeriodFocus" id="Tc_YyZRnUgAS0iObv7wsBjOWA_5_1">Q1</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:AmendmentFlag" id="Tc_8M814f2hJkCvCP8tZqcG-A_6_2">false</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" xs:nil="true" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" name="us-gaap:CommitmentsAndContingencies" id="Hidden_Xhchln6IkUu1RhvMwteAQQ"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" xs:nil="true" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" name="us-gaap:CommitmentsAndContingencies" id="Hidden_d2q0F3caaEu0kIjWm9KRsA"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" xs:nil="true" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" name="us-gaap:PreferredStockValue" id="Hidden_VqFDKBfV0ky5eWYwnE5MUg"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" xs:nil="true" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" name="us-gaap:PreferredStockValue" id="Hidden_ZcfUiSHuq0qgTY4NPPTbdA"></ix:nonFraction><ix:nonNumeric contextRef="As_Of_3_31_2025_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_iLccWrd90kaIs7-bBqEBcg" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Hidden_hC03GuxpME62fR1sD86aBQ">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_3_31_2025_srt_RangeAxis_srt_MinimumMember_e80IBo3TPUqHTuLld6h5QA" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="Hidden_ol6FBvcQm0Of02gMMXTkIQ">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_U3PBbfA1pkOZxwvpWNud3A" name="us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" id="Hidden_TBh2HRybv0uQyjy6gGi50w">http://fasb.org/us-gaap/2024#SecuredOvernightFinancingRateSofrMember</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="inod-20250331.xsd"/></ix:references><ix:resources><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sXnQnrsj7UyRyYHWCiSInw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_nl_9UkC0zE2hoBhPusC7XA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_uYq9fBz8akmPQ6Gj29tW6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Yj5_u3XMeEmd8WG7uKckfg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_smT5dQfqJkyFn0MQ0eebhA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember__ybZuP6dv0GgjakZk4xdtA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ZqUewE34XUqFxk7ueli0Qw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_cEmeosAkMEmGprdLYaPc6Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_F_ul_FrE9Euxk1kldquQGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_goQu0yolPkalxp1TLz2BWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_JlhbQbhigE6XSxmRxaROtg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_T7L02jp02UK3mVFj70DY5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LAlIFr58aUyAeyv3AtqjJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_0Lr7KlIZR0WcC9DjO3dWlA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fP9NL3oY70ygxkKByeTBpg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_EBJcdcskHk-altlzL0sdOw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fM6nUaztBEmXsIn1LSpj3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_uv2_3X8okEKOmJtAsyi8Wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DGJrsuEAKkKGO8JDx40oEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_CRkG-VZ2XkybEC70qUI_CQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_j2ui3m7qeUm_DPP3DiImng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_t-z65Ak3I0ed3H7luPc7FQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_z3KIzkpaQEe2-ws4MeKhDA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_KznPYEsEV0WwNqmraIy8xg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_8MCRqwItXUmcFMeRzRXBSw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_wR4PJASvPkebrdyl6Cv4Kw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_nYar1tfyxk2rj6UzvMvBNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_akxyCxa_JkKWbIOtoQK7Zg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_vdsQSR3yqkayOzSX0R5FsQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_LoLm4giUFEKAiFJ_YE48ag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sRhdc0ZnR0q4ZHjL5zlSRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_y83tZ2wMjEW0s01FwUjVbQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_cOmFGdRESEi5Uk3kWenrDg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_kFNsa7ejg0WkqckLDfcfVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_CVGi1J_i40OelkVNmXAy_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cqgKz9o8eUqjMASqc31dbg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TeQDAiyoTkmmNyjoLY_ogQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_q1X2dBrxDUmXrdZ5cyGnXw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_DUInGlRU8k6MseCGC2PXKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_LnVHQtCd9EC23a6gqIpvEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_NnfpC-M2tU-9Z9_ESm_5jQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_ArAfWplLXEOf3Y2a-dmirQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_UtrdWJFN3U2_nFDsOLQH0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_moaJm0LrnU6MMaCV9yF0Jg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_GORkeIfGOUCJSIYoAYRabw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_F_g84yoKqkudNGBcdq3IYQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_lVVFl4O5sU6H9_Bbek0yJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_nkphx0hF80-7e_JgZJOf-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_hOLJk9PMLkmkjkHAEUse0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_TitleOfIndividualAxis_inod_NonEmployeeMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_uf8-D0wIrEWORyhDYe4Sbg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">inod:NonEmployeeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_QQC1vK8EAkaK4H4NqXPdIg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_tP8Z5fRK20mh6CsOZe5kRA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_US_L8Bb2CplukOv0vsyaON87Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_NL_WCF2Bj7Z40C3mekZgNQtnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_GB_p0dyuBvOtEKn8uDmOHJZuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_CA_krcKLQZfyUalWvgWXnU2_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_lTVTtBlQUkauEGUUOLGcvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_US_Orie9KXpk02RNRodlJF9gw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_NL_Vdm6p37w7k2cO2KGKg0qfw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_GB_HUw2aep-DUeJFQW3DwL-zw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_CA_D-GEb2y9F0Oief308_pVwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_xkuEsfR0J0eqTCcyAOLlnA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_32BSB4ka-E6v3pBhnHwuXQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_37n2mnxsPEqScAOlUMj96Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_ecpxe3JL7EmK0B06jvbYAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_PlanNameAxis_inod_EquityPlansMember_HLf59OwIRUiW6gA59Y5L3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_b0ZPAnCgukCydAVzuuvvCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_yl1m9SQm-EmaTphTnR0sWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_9fv835svd0iMNspGX0R6kg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_QWVB5gOgqUihASCv4NIa9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_jrqcMfi0dECFZnexwnh5Eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_stpr_IL_xF0tN2ChnESVM1hf03uDJw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_7maW9yg8d06jLKHj6t8iFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_PH_Ye_dAdcAAkGUSo6loAkyDQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_LK_lmw_mD6qEk2JNkheZLMSFA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_IN_fHG8lzXvZk6os1HMQrfjIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_GB_aEj27gVBL06ErDGXBshbHw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_DE_MrJ71MNrn0SJkHUliE-lDA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_CA_Kw1YwoyLy0K60osz8bzD2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_stpr_IL_PXv6rk6z9UWZlWwSVVzwog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_YCer3vRef0mN_XtnBoRCyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_US_71OTmsbtHkisYtT2ixZrLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_PH_cC8_un4h6USVH87pR9U3Eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_LK_PRAWsEUTv0uYNwqKKc91ag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_IN_BjDfzcNeiUai1zY5JwYz5g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_GB_-xqlaMvyNkKnRDjZvgWQtw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_DE_Pz0GPa-sAkGbfy8ShDPI7Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_CA_QgpY_glChUKft7yTRv7yzw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5Hub6B8sO0Gf6_gZtRpNsg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_XxHuIN0Cw0iTF9iJ90858w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_YAXChZZLi0e0gO7iKDyw2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_RangeAxis_srt_MinimumMember_e80IBo3TPUqHTuLld6h5QA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_RangeAxis_srt_MaximumMember_BATJKTQ6aUiFvTz8_CCMwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_afIUS4pplUCgwZk4MTnYOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_iLccWrd90kaIs7-bBqEBcg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_J0SiirM_OUyZsHf9vNgnHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_4s5HmgMgYEq8UBs_f-11YA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_edbQgoD2jk2pbUBhLmcRzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_SSACz_5aHkmR2DIDxccdWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember___24c9SG7Uu4Uj4I_J1iAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_CHYYJdAeeUeEKSw2Ki2jvA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_XJ4tjH17KEeA-xes37wPLA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_tXXF8_qns06soRwiVIrANQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_RNjgcR6AlkmhzfO7wA-2wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_RfdoGv144E-H_TGon5JC2w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_U3PBbfA1pkOZxwvpWNud3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_DUwm5kwbA0aiMdaOVLxcug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_MzxGSCoGskCqEjEzp2Xlag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Nbo_UcopHk2Q_vLSX6yBkw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9_cimou6DkmSYRDyvGCZDg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_yIOB3NDyiE-L4xehgvE7yQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9xNFECjx_EelJhdPv7MFEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_5oVJAKDc8U2Qc1h5x7cKsQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_srt_AsiaMember_QqmOzKCPW02nqUDHxGNsrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_US_CHYsuTVyMUu34excVbZvMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_PwAkRgdSJk-tulvH58Qivw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_s18ad0ZGikyHRxLuAMtroA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_or5Vs6YBN0SyFws3DWyBiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_71Ok5Hnwl0mWlDTCaiJpCQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_QZxJyZGfOEmuRBt-ppuQwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kyIc6s8LlkqxYFfRd8-KGA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fK6QrLQeLkGrMkhbTCd_7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_DtMLgfZ37Eq41Sk_OgslaA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_vtqfuhmJb0WkU8RMWMcy3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_5JzMwQja-U-b4QAS5sy0Bw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_vVj8PSXUzki3_rVKLgs_mw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_oNkb4kcUsUaGB5UhsldBpA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2024_3WB9A9ivUkCnFJMknH7HSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023__GcnigSyZEubg1y5OT8zKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p1U864SUZUuiQ6s0ZgMpmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Z0E4VX-Fs0S6V8UIx1Zvvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_RiTXS69-x0qOBxN_DqVR-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_hI5PeDc27kW8II3a5erP_w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_4pvpjAaOnkq-3I5DTMB57w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_3t4BW1b080mIPP1DM5mMyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_3KzfqUaaXk2t238RLkLKKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_H1QwP7sCk0KjAQ4H-gWl1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_RangeAxis_srt_MinimumMember_jSUqQw81akOpgyswCg4xAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_RangeAxis_srt_MaximumMember_eMrDlUeBLU6-JlEWAAwVVA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mB5Q9K96UUOy8n4DHEVETQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IyGkHxiXZk-_hLlU7TXN9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_ilzQJWOgq0K-PNap8oltkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_oP9z7AdlrEObIp_UUraYcw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_h_ogQc6aJk2JcVL0ksKIsw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:TwoClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_T9fhNM_RBEehb2ZVjzFLnA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uXH36uHHL0m1WrN0XlMGRg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_5_2024_To_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_vC9JtCo230iJadEiM5NDSA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-08-05</xbrli:startDate><xbrli:endDate>2024-08-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_KKUCakEdUkWQ65BDAQTCVA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-08-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Inm_JZTvQUKTKWNZcTFT6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_I98lu4fiPUuCgjCnf_2E1w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_ClEEaT2vXkiVd9s-z1FvZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AnSyWaLQeE2eD8zXTJfK9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_EQos1vf9gUi6S-W8Uja-iA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_EAkSgFgenkub5esIsek8hA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_PwQFvDsiHki9KysRe3q_sw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_YpWN8nNRBUCEuAR9oiXXUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_-6yZvbbEVUO03PidsMC63g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_6hHJI-p2m0S63_Ss129_xA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_QQxu1NVi_kys0J__FM9jtQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_Qym26Pzej0-yTZFovk6IZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_Wm4rirdCpEW0xnQP-o7riA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_unJySujcE0ex9cYJR_MnIw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_aKV6koS_uk2sJUzXSKcC0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_VTwYOCchv0SSrkTqmFLNKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2025-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_4_30_2025_xxB_HP-6Ik2sto-PcA02iw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2025-04-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2025-01-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA"><xbrli:measure>inod:customer</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Unit_Standard_segment_Fd9GiEWAlkm1J2XHWdbi8A"><xbrli:measure>inod:segment</xbrli:measure></xbrli:unit><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_6-XTuA941kGUwBNEA6t3xw_42_6" toRefs="_e5ca3052_76e5_48e0_989e_6a0090e19eff" order="1"/><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_wNJjs5arw0GCdCLC9jhPxQ_42_3" toRefs="_e5ca3052_76e5_48e0_989e_6a0090e19eff" order="1"/></ix:resources></ix:header></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1pt;padding-bottom:1pt;padding-top:1pt;text-align:center;text-indent:0pt;border-bottom:1px solid #000000;border-top:3.0pt solid #000000;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_802b0ed2_f39e_4a79_bdd8_1d0877c34603"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">UNITED STATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;">WASHINGTON, D.C. 20549</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-size:10pt;font-weight:bold;">FORM&#160;</b><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:DocumentType" id="Narr_QW39SVMFP0OkOGzxsHSw8A"><b style="font-size:10pt;font-weight:bold;">10-Q</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_55f85f8d_8a72_4a8f_9725_640cb1fbcd46"></a><a id="Tc_CPljZ0AgXUKxsRzbDHv-IQ_0_1"></a><a id="Tc_oSvaa5EY10ecluN6Gi4y2w_2_1"></a><a id="Tc_URTDjDAb0UmCzUGo1-B5LQ_4_0"></a><a id="Tc_-Bwnmprn4UK-Ss8nbMOv6Q_6_1"></a><a id="Tc_nPq4lBi5ZU2VNyPjtk9V9w_8_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:6.79%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:DocumentQuarterlyReport" id="Tc_vx8qOKomekWT_GUgh8NKfQ_0_0"><span style="font-family:'Segoe UI Symbol';font-size:10pt;">&#9746;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:93.2%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">QUARTERLY REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934</b></p></td></tr><tr><td style="vertical-align:top;width:6.79%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:6pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:93.2%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:6.79%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:93.2%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">For the quarterly period ended</b><b style="font-weight:bold;">&#160;</b><ix:nonNumeric format="ixt:date-monthname-day-year-en" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:DocumentPeriodEndDate" id="Narr_edArXOQlJUO1_OxuEq6dSA"><b style="font-weight:bold;">March 31, 2025</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:6.79%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:6pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:93.2%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:6pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">OR&#160;</b></p></td></tr><tr><td style="vertical-align:top;width:6.79%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:6pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:93.2%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:6.79%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:DocumentTransitionReport" id="Tc_do-S221rYEqJJXfkn2TUmw_6_0"><span style="font-family:'Segoe UI Symbol';font-size:10pt;">&#9744;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:93.2%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">TRANSITION REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934 </b></p></td></tr><tr><td style="vertical-align:top;width:6.79%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:6pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:93.2%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:6pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt 0.69pt 0pt 0.69pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">For the transition period from </b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;"> to </b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;">Commission file number: </span><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityFileNumber" id="Narr_xaYHzFDM4k2GrYKI5bVuGg"><b style="font-size:10pt;font-weight:bold;">001-35774</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityRegistrantName" id="Narr_FkfAFS-05kGTIlYjCmlJKw"><b style="font-size:10pt;font-weight:bold;">INNODATA&#160;INC.</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;">(Exact name of registrant as specified in its charter)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_bf3855e8_61c1_4fe0_91de_276cca3642fd"></a><a id="Tc_6Dh7a2e4u0eVuOgdmme2Cw_1_0"></a><a id="Tc_fn6eeSLnIU2Av6TgvWTu9A_1_1"></a><a id="Tc_rheYYmv-Z0-EGJfggq0Zjg_2_0"></a><a id="Tc_H_PDzfglNkCWqx_HHn_Wjg_2_1"></a><a id="Tc_z_8uCdnFDECqAutGcYdngA_5_0"></a><a id="Tc_o4WIW5S5b0WhKpoje4IvaQ_5_1"></a><a id="Tc_jceC3Aj7_0KgQSW3ld6OUQ_6_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityIncorporationStateCountryCode" id="Tc_aoE9qG7hb02PgfSMfD625Q_0_0"><b style="font-size:10pt;font-weight:bold;">Delaware</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityTaxIdentificationNumber" id="Tc_7Lpos7xCyU2ttZ-kk3_3lg_0_1"><b style="font-size:10pt;font-weight:bold;">13-3475943</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;">(State or other jurisdiction of</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;">(I.R.S. Employer</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;">incorporation or organization)</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;">Identification No.)</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityAddressAddressLine1" id="Tc_CfuWxX450kO2cG_O68x21w_4_0"><b style="font-size:10pt;font-weight:bold;">55 Challenger Road</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityAddressPostalZipCode" id="Tc_IuD3N939sUKdpf9fzKuRcw_4_1"><b style="font-size:10pt;font-weight:bold;">07660</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityAddressCityOrTown" id="Narr_F6R-wGXR50KTQ8IiMYNUGg"><b style="font-size:10pt;font-weight:bold;">Ridgefield Park</b></ix:nonNumeric><b style="font-size:10pt;font-weight:bold;">, </b><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityAddressStateOrProvince" id="Narr_rdaPStJmzkOgszoNUmvKoA"><b style="font-size:10pt;font-weight:bold;">New Jersey</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;">(Zip Code)</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;">(Address of principal executive offices)</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"/></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-size:10pt;font-weight:bold;">(</b><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:CityAreaCode" id="Narr_VtVFSv63cEazO3eRgWMTaA"><b style="font-size:10pt;font-weight:bold;">201</b></ix:nonNumeric><b style="font-size:10pt;font-weight:bold;">) </b><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:LocalPhoneNumber" id="Narr_yXibzFGW5Uul7BoHuSUNEA"><b style="font-size:10pt;font-weight:bold;">371-8000</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;">(Registrant&#8217;s telephone number, including area code)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">None</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;">(Former name, former address and former fiscal&#160;year, if changed since last report)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;">Securities registered pursuant to Section 12(b) of the Act:</p><a id="_700e5e5a_8d15_4f35_a6eb_5b4756c1aae4"></a><a id="Tc_sbag4_vS-UeRfMllSzKrBw_1_0"></a><a id="Tc_pb7TvLq_TkGEROMuNsS5gg_1_1"></a><a id="Tc_cEaXBev4BUOetGeAAKGKWw_1_2"></a><a id="Tc_4l07CDrGTE6B1SZVJaIg3w_2_2"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.18055344%;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:31.54%;margin:0pt;padding:0pt;"/><td style="vertical-align:middle;width:32.55%;margin:0pt;padding:0pt;"/><td style="vertical-align:middle;width:35.89%;margin:0pt;padding:0pt;"/></tr><tr><td style="vertical-align:middle;width:31.54%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Title&#160;of&#160;each&#160;class</b></p></td><td style="vertical-align:middle;width:32.55%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Trading Symbol(s)</b></p></td><td style="vertical-align:middle;width:35.89%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Name&#160;of&#160;each&#160;exchange&#160;on&#160;which&#160;registered</b></p></td></tr><tr><td style="vertical-align:middle;width:31.54%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:Security12bTitle" id="Tc_VdFcgYFpKUu1k4x-L0ycKg_2_0"><span style="font-size:10pt;">Common Stock</span></ix:nonNumeric></p></td><td style="vertical-align:middle;width:32.55%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:TradingSymbol" id="Tc_bWkNxL9c2kO_E1r2iQueBQ_2_1"><span style="font-size:10pt;">INOD</span></ix:nonNumeric></p></td><td style="vertical-align:middle;width:35.89%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;">The </span><ix:nonNumeric format="ixt-sec:exchnameen" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:SecurityExchangeName" id="Narr_23-mun2xYUeo0ozoOdHtpw"><span style="font-size:10pt;">Nasdaq</span></ix:nonNumeric><span style="font-size:10pt;"> Stock Market LLC</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d)&#160;of the Securities Exchange Act of 1934 during the preceding 12&#160;months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90&#160;days. </span><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityCurrentReportingStatus" id="Narr_5vB3J8dy3EqhqSGtOJ7TyA"><span style="font-size:10pt;"> Yes</span></ix:nonNumeric><span style="font-size:10pt;"> &#160;</span><b style="font-family:'Segoe UI Symbol';font-size:10pt;font-weight:bold;">&#9745;</b><span style="font-size:10pt;"> &#160;No &#160;</span><span style="font-family:'Segoe UI Symbol';font-size:10pt;">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule&#160;405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12&#160;months (or for such shorter period that the registrant was required to submit such files).&#160;&#160;</span><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityInteractiveDataCurrent" id="Narr_C9HseKQ43Uyyt2IgztnccA"><span style="font-size:10pt;">Yes</span></ix:nonNumeric><span style="font-size:10pt;">&#160;&#160;</span><b style="font-family:'Segoe UI Symbol';font-size:10pt;font-weight:bold;">&#9745;</b><span style="font-size:10pt;">&#160;&#160;No&#160;&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:10pt;">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:justify;text-indent:0pt;margin:0pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule&#160;12b-2 of the Exchange Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;">Large accelerated filer </span><span style="font-family:'Segoe UI Symbol';font-size:10pt;">&#9744;</span><span style="font-size:10pt;">&#160;&#160;&#160;&#160;Accelerated filer </span><span style="font-family:'Segoe UI Symbol';font-size:10pt;">&#9744;</span><span style="font-size:10pt;">&#160;&#160;&#160;&#160;</span><ix:nonNumeric format="ixt-sec:entityfilercategoryen" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityFilerCategory" id="Narr_kXt_NTI20ESC9-4RbFzrbQ"><span style="font-size:10pt;">Non-accelerated filer</span></ix:nonNumeric><span style="font-size:10pt;"> </span><b style="font-family:'Segoe UI Symbol';font-size:10pt;font-weight:bold;">&#9745;</b><span style="font-size:10pt;">&#160;&#160;&#160;&#160;Smaller reporting company&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntitySmallBusiness" id="Narr_P6nN3zIoN0qhx81Q_XuhWg"><b style="font-family:'Segoe UI Symbol';font-size:10pt;font-weight:bold;">&#9745;</b></ix:nonNumeric><span style="font-size:10pt;">&#160;&#160;&#160;&#160;Emerging growth company </span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityEmergingGrowthCompany" id="Narr_lsKpPd4y3ESjSGz8Ldacsg"><span style="font-family:'Segoe UI Symbol';font-size:10pt;">&#9744;</span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:justify;text-indent:0pt;margin:0pt;">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&#160;13(a)&#160;of the Exchange Act.&#160;&#160;<span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:justify;text-indent:0pt;margin:0pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#160;12b-2 of the Exchange Act).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;">Yes &#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="dei:EntityShellCompany" id="Narr_pItqxlPml06KSeVwGj8qfg"><span style="font-family:'Segoe UI Symbol';font-size:10pt;">&#9744;</span></ix:nonNumeric><span style="font-size:10pt;">&#160;&#160;No &#160;</span><b style="font-family:'Segoe UI Symbol';font-size:10pt;font-weight:bold;">&#9745;</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-align:justify;text-indent:0pt;margin:0pt;">The number of outstanding shares of the registrant&#8217;s common stock, $0.01 par value per share, as of April 30, 2025 was&#160;<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" format="ixt:num-dot-decimal" scale="0" contextRef="As_Of_4_30_2025_xxB_HP-6Ik2sto-PcA02iw" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" id="Narr_OF38dAjmYEu_zYs8UImBlg">31,745,310</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:36pt;margin:0pt;"><span style="font-size:4pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-bottom:1pt;padding-top:1pt;border-bottom:3.0pt solid #000000;border-top:1px solid #000000;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_7386b9be_c09a_4f26_ba67_53f5d5aa14ea"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">For the Quarter Ended March 31, 2025</b></p><a id="TOC"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">INDEX</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><a style="font-size:10pt;" href="#PartIFINANCIALINFORMATION_338266"><b style="font-style:normal;font-weight:bold;">Part&#160;I&#160;&#8211; Financial Information</b></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Page No.</b></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item1FinancialStatements_56898"><span style="font-style:normal;font-weight:normal;">Item&#160;1.</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item1FinancialStatements_56898"><span style="font-style:normal;font-weight:normal;">Financial Statements</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;background:#000000;">&#8203;</span></p></td></tr><tr style="height:12.15pt;"><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item1FinancialStatements_56898"><span style="font-style:normal;font-weight:normal;">Condensed Consolidated Financial Statements (Unaudited):</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;background:#000000;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><a style="font-size:10pt;" href="#CONDENSEDCONSOLIDATEDBALANCESHEETS_49937"><span style="font-style:normal;font-weight:normal;">Condensed Consolidated Balance Sheets as of March 31, 2025 and December 31, 2024</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">2</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><a style="font-size:10pt;" href="#CONDENSEDCONSOLIDATEDSTATEMENTSOF1"><span style="font-style:normal;font-weight:normal;">Condensed Consolidated Statements of Operations and Comprehensive Income for the three months ended March 31, 2025 and 2024</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">3</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><a style="font-size:10pt;" href="#CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLO"><span style="font-style:normal;font-weight:normal;">Condensed Consolidated Statements of Cash Flows for the three months ended March 31, 2025 and 2024</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">4</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><a style="font-size:10pt;" href="#CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHO"><span style="font-style:normal;font-weight:normal;">Condensed Consolidated Statements of Stockholders&#8217; Equity for the three months ended March 31, 2025 and 2024</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">5</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><a style="font-size:10pt;" href="#a1SummaryofSignificantAccountingPolicies"><span style="font-style:normal;font-weight:normal;">Notes&#160;to Condensed Consolidated Financial Statements</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">6</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item2_787243"><span style="font-style:normal;font-weight:normal;">Item&#160;2.</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><a style="font-size:10pt;" href="#Item2_787243"><span style="font-style:normal;font-weight:normal;">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">24</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item3QuantitativeandQualitativeDisclosur"><span style="font-style:normal;font-weight:normal;">Item&#160;3.</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><a style="font-size:10pt;" href="#Item3QuantitativeandQualitativeDisclosur"><span style="font-style:normal;font-weight:normal;">Quantitative and Qualitative Disclosures About Market Risk</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">35</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item4ControlsandProcedures_911168"><span style="font-style:normal;font-weight:normal;">Item&#160;4.</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item4ControlsandProcedures_911168"><span style="font-style:normal;font-weight:normal;">Controls and Procedures</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">35</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><a style="font-size:10pt;" href="#PARTIIOTHERINFORMATION_397884"><b style="font-style:normal;font-weight:bold;">Part&#160;II&#160;&#8211; Other Information</b></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item1LegalProceedings_998786"><span style="font-style:normal;font-weight:normal;">Item&#160;1.</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item1LegalProceedings_998786"><span style="font-style:normal;font-weight:normal;">Legal Proceedings</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">36</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item1ARiskFactors_897710"><span style="font-style:normal;font-weight:normal;">Item&#160;1A.</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item1ARiskFactors_897710"><span style="font-style:normal;font-weight:normal;">Risk Factors</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">36</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item2UnregisteredSalesofEquitySecurities"><span style="font-style:normal;font-weight:normal;">Item&#160;2.</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item2UnregisteredSalesofEquitySecurities"><span style="font-style:normal;font-weight:normal;">Unregistered Sales of Equity Securities and Use of Proceeds</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">36</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item3DefaultsUponSeniorSecurities_9121"><span style="font-style:normal;font-weight:normal;">Item&#160;3.</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item3DefaultsUponSeniorSecurities_9121"><span style="font-style:normal;font-weight:normal;">Defaults Upon Senior Securities</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">36</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item4MineSafetyDisclosures_517737"><span style="font-style:normal;font-weight:normal;">Item&#160;4.</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item4MineSafetyDisclosures_517737"><span style="font-style:normal;font-weight:normal;">Mine Safety Disclosures</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">36</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item5OtherInformation_68397"><span style="font-style:normal;font-weight:normal;">Item&#160;5.</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item5OtherInformation_68397"><span style="font-style:normal;font-weight:normal;">Other Information</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">36</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item6Exhibits_329227"><span style="font-style:normal;font-weight:normal;">Item&#160;6.</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#Item6Exhibits_329227"><span style="font-style:normal;font-weight:normal;">Exhibits</span></a></p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">37</span></p></td></tr><tr><td style="vertical-align:bottom;width:8.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="font-size:10pt;" href="#signature"><span style="font-style:normal;font-weight:normal;">Signatures</span></a></p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:79.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;">38</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">1</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_944ac3e8_4da2_4655_954c_e828e5a45c02"></a><a id="PartIFINANCIALINFORMATION_338266"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;">Part I.&#160;FINANCIAL INFORMATION</p><a id="Item1FinancialStatements_56898"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 4pt 0pt;">Item 1.&#160;Financial Statements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><a id="CONDENSEDCONSOLIDATEDBALANCESHEETS_49937"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">CONDENSED CONSOLIDATED BALANCE SHEETS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(In thousands, except share and per share amounts)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:4pt;font-weight:bold;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_f481eeb0_bdb7_453b_9126_2964aa9c1ce0"></a><a id="Tc_i61sJ9NJxUKUabJge6hzow_1_2"></a><a id="Tc_kLKLYrI61k-Aagy-RkUPpw_1_5"></a><a id="Tc_dj3vYcxd106NTv1nzzkeUw_2_2"></a><a id="Tc_sp8yrtgAfEyG8XY5K2o4Ig_2_5"></a><a id="Tc_EI5kI-ZGkU6DBR7hSj7A4A_3_0"></a><a id="Tc_hv6M5FwRukmB8cJC2d6cBg_4_0"></a><a id="Tc_ZLbdc1rCukGN0iw7sBfERQ_5_0"></a><a id="Tc_hlkszMZuXUmYlJ_jSQ2nFg_5_2"></a><a id="Tc_2qoDZbJ_B0Sfkk__ZSzuiQ_5_5"></a><a id="Tc_L55cd96bAUG5rFVWSr15EQ_6_0"></a><a id="Tc_Zthx1AhxXku7gkydFJQbXA_7_0"></a><a id="Tc_hRD0VyOFIku0BkQJhLmY5g_8_0"></a><a id="Tc_n9B8RC9JvkyBo7_FgJs4hw_9_0"></a><a id="Tc_uoydZMd53kaUKQ68bnYX4A_10_0"></a><a id="Tc_xC86aQlwMk-u5Cb6jod7-g_11_0"></a><a id="Tc_b1hxJc9o6k6836E-wj5nPQ_12_0"></a><a id="Tc_DuDoUVKMSkqQYQmkev25pA_13_0"></a><a id="Tc_lWKeTd-4WE6uWmYoO2aYYw_14_0"></a><a id="Tc_1f4ZgWiXgEq_kQcv3JZlwA_15_0"></a><a id="Tc_5BbD2-Nn4EOK-y6uH0kLXw_15_2"></a><a id="Tc_CsGBB5QAz0mD7gQYg4oUpg_15_5"></a><a id="Tc_tqr_2L5D20Si6gexMQodTw_17_0"></a><a id="Tc_u023qwiOdEO-r9WUXYWMow_18_0"></a><a id="Tc_bDn3n0Xa0UyCaxX4-Whq7Q_19_0"></a><a id="Tc_jvYPuW9NhkymWPnfbhPv1g_19_2"></a><a id="Tc_wy10axM0hU-KhDDOPXxzJA_19_5"></a><a id="Tc_PNRN-taroEalYBTzAmcpyw_20_0"></a><a id="Tc_VCNCYjDQUEeuHTCrxjyVyg_21_0"></a><a id="Tc_8R42W2MhEkO6qHmWxJdHpw_22_0"></a><a id="Tc_mnpgtYTJzU6GNcUgDa-5UA_23_0"></a><a id="Tc_CGVSszMP-kSkPAvJy7r25g_24_0"></a><a id="Tc_ffpJzw-Hg0aDWNeinGI9Xw_25_0"></a><a id="Tc__YG17kX4okKfFSWvhGcx9g_26_0"></a><a id="Tc_fuU0ljFzjUGlNt1pnD0iIQ_27_0"></a><a id="Tc_oxQUMiZ9fUa9anP3oJj4tw_28_0"></a><a id="Tc_mWxD0aiO0EqeRqhjOi57iQ_29_0"></a><a id="Tc_tQdgA8b6H0aEYJ7QDkzvzg_30_0"></a><a id="Tc_1DNdIzj17EuuY_L7ByV7TA_31_0"></a><a id="Tc_rlTcy1aL8U2MnJe5WeKmNw_33_0"></a><a id="Tc_3LaimahhbUS7sTRFLAosSQ_34_0"></a><a id="Tc_-eqyWeAlTECAjzsRLfoz-w_35_0"></a><a id="Tc_tySf5ZdRyEyiGMSqMiH1ew_36_0"></a><a id="Tc_anb5aJhoNUanfhq7AKbCRA_37_0"></a><a id="Tc_kHOM-GqLwUaBlQBT2mo2ow_38_0"></a><a id="Tc_4j2XZehXL0qx6kOOkfuiLA_40_0"></a><a id="Tc_IDmdPp6hM0K7TUWUVA67sg_41_0"></a><a id="Tc_IS19ZB-gAEWVSDDh2SpJTw_42_0"></a><a id="Tc_ILFAXtZEuUKPdEnp5X5Zcw_43_0"></a><a id="Tc_2P3uhpGX80-8hJqkqjffvg_44_0"></a><a id="Tc_IwpkVRSt_kGgsibBrr4qBQ_44_2"></a><a id="Tc_D_8_VYq50EyWBnjM3t6VTA_44_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Current assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_DSv_df-wEEipuyKP2aaN7A_5_3">56,556</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_lzpLHfGNukqHXfEemuwwDA_5_6">46,897</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Accounts receivable, net of allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_lz2VpFPAUEWc7IZagvetDg_6_3">29,577</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_1799-bAgQkak23p1lx3bgg_6_6">28,013</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_kTHAz3C73kKmj0u9C2IWiA_7_3">6,216</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_vTRgSTnGQkyQdRbeYpXZ3g_7_6">6,090</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Total current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_mxgynWKf5UOd8ag3CNV1Eg_8_3">92,349</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_qAL58wplkkqqhYvMD6IHSQ_8_6">81,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_GEa5ob28bEaQsXqgtzHO3A_9_3">4,679</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_APx8BAr_yUqkez59Itpz0A_9_6">4,101</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Right-of-use-asset, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_67cLOQw88kmuT8e-86ANlg_10_3">4,036</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_rTrA8TTU90q8Yb6nIsnFhQ_10_6">4,238</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_ddUS8BDTiEupFuz1HuVn5g_11_3">1,276</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_2kl1_FBuLUiNDeOrlyTzPA_11_6">1,267</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred income taxes, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_znXVzUZwoUW2AgfsIjvb0Q_12_3">7,282</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_FUnA56jCcEaPjuqydiFYzA_12_6">7,492</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Intangibles, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_SIQhWhoONE-HbQ-moZwknw_13_3">13,570</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_wmq-2ok1p0CLycm4ZIEqaA_13_6">13,353</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" id="Tc_8GojU_95qkS-9JTetGybBg_14_3">2,018</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" id="Tc_ZKSBYFtH6U2gAWIfuUxFow_14_6">1,998</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 18pt;"><b style="font-weight:bold;">Total assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_eUs0HCvKyUaM4_SDv0zE_g_15_3">125,210</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_6EsYLOcgeU2V-ngV5tmVtQ_15_6">113,449</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 18pt;"><span style="font-size:9pt;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Current liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_sbw5X-2TB0GfDEHd05h3UA_19_3">4,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_j0pFa2lLDUebkFEjRqF3fw_19_6">4,554</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_llAD-xbn60a_t56rFOIHcg_20_3">5,729</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_evPEJaPqSE-vp6ZIKQqLDA_20_6">4,891</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Accrued salaries, wages and related benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_-L5OtMXB3kizloteGwBv9w_21_3">13,608</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_3MJ91siVTEqikGuw9I8RAQ_21_6">13,836</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Deferred revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_x3pN3Grem0aK0nwFL0Ih5g_22_3">8,028</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_D_CzTqvrCUKgHYYKEGHCoA_22_6">8,010</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Income and other taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TaxesPayableCurrent" scale="3" id="Tc_safdF9vn3kW883cC4iR0rw_23_3">4,861</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TaxesPayableCurrent" scale="3" id="Tc_ix6y7DXRvky_SYPkxI5yMw_23_6">5,695</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Long-term obligations&#160;- current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_TEToAq5RykKOLeVj1XlJsw_24_3">1,505</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_sjBJ8mTvRUyLjmvo8WOtQA_24_6">1,643</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Operating lease liability&#160;- current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_N6MnE-_y4kO7XK9lMHarIQ_25_3">904</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_0hi2AbzHSU6G5UryMF2hVQ_25_6">877</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Total current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc__ooTVlbpCE6mHGMM7p46VA_26_3">39,135</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_ATNeGmqSMkSawWO1EWbL1w_26_6">39,506</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred income taxes, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_SUYo1grjEEekEKaVHdEZ_Q_27_3">35</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_XbXJchDenUmWegJTV1joog_27_6">32</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Long-term obligations, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_2gbbKgEj1Eu1fHQiSxepPg_28_3">7,096</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_8bnmpDycbESeUWJydJpbLg_28_6">6,744</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Operating lease liability, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_57GoZ5ZwbEmEohmMizlymg_29_3">3,542</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_HXN1bEqCokyQDASXPrOQ1Q_29_6">3,778</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Liabilities" scale="3" id="Tc_4o--k2LpGE6xUOcgod5PqA_30_3">49,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Liabilities" scale="3" id="Tc_ti-IyzVR5kyHj0ZV6nRNCA_30_6">50,060</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Commitments and contingencies</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_Xhchln6IkUu1RhvMwteAQQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"> -</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_d2q0F3caaEu0kIjWm9KRsA;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"> -</span></span></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">STOCKHOLDERS&#8217; EQUITY</b>:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Serial preferred stock; <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_FxoNJZlFe0WPJ19Lv4SxPw"><ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_J0DUyyb8aUek8Z82dPArdw">4,998,000</ix:nonFraction></ix:nonFraction> shares authorized, <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="Narr_m1xvl49FQEuXFlzxd9BHGw"><ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="Narr_XUzbrv3Fi0uJAj7xJ3aC_A"><ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesIssued" scale="0" id="Narr_VJNemxuWXU6tsnWeS5btyg"><ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesIssued" scale="0" id="Narr_p4Ba_28h2E6qbY_U2b1x0A">none</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> issued and outstanding </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_VqFDKBfV0ky5eWYwnE5MUg;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"> -</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_ZcfUiSHuq0qgTY4NPPTbdA;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"> -</span></span></p></td></tr><tr><td style="vertical-align:top;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Common stock, $<ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_CSxSg2uCO0C_uWid5GjHXw"><ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_SWBPKHdHtk6p-BuLLtC5EQ">.01</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_vukJGdWH6kyQxHkNJuDd0g"><ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_Dw3THt12fUO7sUJCP1kkCA">75,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_3aDVhcXs1Eaelozjn-aIVw">34,929,000</ix:nonFraction> shares issued and <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_fGO0ncMP-Ua2QODeXjivag">31,745,000</ix:nonFraction> outstanding at March 31, 2025 and <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_D0ouG1NzqkGrCvAsOWXWXg">34,484,000</ix:nonFraction> shares issued and <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_dbmNw8Jef0WGBwlJQBXWEA">31,300,000</ix:nonFraction> outstanding at December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_zHCjG62f7UykzFzXPyG84Q_35_3">349</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_eEShtMul2UCGPIN415Sqjg_35_6">345</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Additional paid-in capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapital" scale="3" id="Tc_duyKP5CUgEOY3pq8JSQGzQ_36_3">56,925</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapital" scale="3" id="Tc_rTA69guCDkyRncuyGFttIA_36_6">53,085</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Retained earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_5QegbdMwhUeFRSUHCSmZhw_37_3">26,764</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_RWeNKAsNmkWGIaHM8MRRhg_37_6">18,977</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Accumulated other comprehensive loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_3C3-P3WBx0uCXkNT_lmCOg_38_3">2,088</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_xOtVESKwoUC9hf4mO64jyg_38_6">2,470</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityBeforeTreasuryStock" scale="3" id="Tc_L4YF2MSDj0uhnw8GzciVSQ_39_3">81,950</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityBeforeTreasuryStock" scale="3" id="Tc_883kNHP5CU-PycSQMMYPnw_39_6">69,937</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Less: treasury stock, <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" scale="0" id="Narr_Fmq1nWpyxEuokreVs9Q2pQ"><ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" scale="0" id="Narr_AFRlYQeIhEyMS7tpwesw7w">3,184,000</ix:nonFraction></ix:nonFraction> shares at March 31, 2025 and December 31, 2024, at cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockValue" scale="3" id="Tc_qeOc7g_rCkeAgb2Ok7wkoQ_40_3">6,465</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockValue" scale="3" id="Tc_zv4YNXZJf02DBZsaH8xw3w_40_6">6,465</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Stockholders&#8217; equity Innodata Inc. and subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_AvhTJoElckiTHz5imamC6g_41_3">75,485</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_iq5MFayloE6D3asT7LDokg_41_6">63,472</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Non-controlling interests*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:MinorityInterest" sign="-" scale="3" id="Tc_wNJjs5arw0GCdCLC9jhPxQ_42_3">83</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:MinorityInterest" sign="-" scale="3" id="Tc_6-XTuA941kGUwBNEA6t3xw_42_6">83</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Total Stockholders&#8217; equity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_aq4DgvB-sEeoE76MdbNqig_43_3">75,402</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_28W2YhzAikW5f0J6hoKccA_43_6">63,389</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 18pt;"><b style="font-weight:bold;">Total liabilities and stockholders&#8217; equity</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_3dZ4BsPzM0GvzIXYaOLibw_44_3">125,210</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_j-75b5slLkWzyp8--B4Mvw_44_6">113,449</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">See notes to Condensed Consolidated Financial Statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><i style="font-size:10pt;font-style:italic;">*</i><ix:footnote xml:lang="en-US" id="_e5ca3052_76e5_48e0_989e_6a0090e19eff"><i style="font-size:10pt;font-style:italic;">Noncontrolling interests are included within stockholders&#8217; equity in the condensed consolidated balance sheet as the amounts are immaterial.</i></ix:footnote></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_10174e0f_f3f6_4c28_94db_6f4cc7d50121"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA&#160;INC. AND SUBSIDIARIES</b></p><a id="CONDENSEDCONSOLIDATEDSTATEMENTSOF1"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">COMPREHENSIVE INCOME</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands, except per share amounts)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_b0eab47b_1c9f_49d7_b72b_040a579f549b"></a><a id="Tc_CfL6FWeGBEmCaJsFzML1Iw_1_2"></a><a id="Tc_-RIOyikjvkak4Gbv2szD7Q_2_2"></a><a id="Tc_hl1jE41PPEaeGSrzlZcfRA_3_2"></a><a id="Tc_80OJOBIsfki5Vs1xE1anhA_3_5"></a><a id="Tc_WdCgp4ZbjkKznIDkekDfRw_5_0"></a><a id="Tc_v8ivbrSVW0WpRTNKDdXZYQ_5_2"></a><a id="Tc_6J3OGA5dnk2Y9qno5SgXEA_5_5"></a><a id="Tc_rtBZiKzEKkOLTAc_HamVbQ_6_0"></a><a id="Tc_7friCKF9dEOSA9EfxvNmPw_7_0"></a><a id="Tc_-9-gAWfS7Ua_vApJWSSgDQ_8_0"></a><a id="Tc_EykCusB52EiFGfgN2qPHfQ_11_0"></a><a id="Tc_D5AZfAsjPkyN9RkQeRNX7A_13_0"></a><a id="Tc_1ai_wRUTNkik0wzBpOECYQ_15_0"></a><a id="Tc_U3swErCuk02xAlzsNtBzZQ_16_0"></a><a id="Tc_EzhGK_1GIkGZhH9KKBbMaQ_16_3"></a><a id="Tc_wWHfQ7Rk7kSpY8SG-ByEYg_17_0"></a><a id="Tc_MpiGbOJ-4UO8cqF2WOeOww_17_2"></a><a id="Tc_5whD0AWeLk6YRv5Sk4JREw_17_5"></a><a id="Tc_ifsgk7jq6E-8BEMx0VJMfA_19_0"></a><a id="Tc_FC5UhjkwckGckchHwBnHzQ_20_0"></a><a id="Tc_zzqX97f9mUSCIuJFjJgXtg_20_2"></a><a id="Tc_IVP-sKi9tkOxP1Xx9S8xkg_20_5"></a><a id="Tc_ldSyQNMrcUKq66kdfcuq-Q_21_0"></a><a id="Tc__-jPA-Wib0q5H5C30lvTrA_21_2"></a><a id="Tc_vGZ1pKQMG0-mIzSORSYgxw_21_5"></a><a id="Tc_pcFDRDEMDka9LXLomcje3A_23_0"></a><a id="Tc_9AciZAqYcUWrbN0tDN29tw_24_0"></a><a id="Tc_oUG7Ow1cDUm5QSdxs-NOvQ_25_0"></a><a id="Tc_qWbrrcP6sUaLp9o0qKmtSA_27_0"></a><a id="Tc_qaMq0-pP_0yv7Lf3uDAeig_28_0"></a><a id="Tc_CgWRWhrQi0uJ9HATlj_cHg_28_2"></a><a id="Tc_2U1GXmo6a0G7rp6ScitIEA_28_5"></a><a id="Tc_52zC9c3cFEiZh5uOC_9dwA_29_0"></a><a id="Tc_3kVIf43V3EOhIGTDRH91ow_30_0"></a><a id="Tc_pkO11VkhWE64mlkS3jGEXA_31_0"></a><a id="Tc_6c8DJDtjE0SMvqdKEDtkgA_32_0"></a><a id="Tc_AOH9I2P85UyG5EXHPs2Y6Q_33_0"></a><a id="Tc__ZSMINlHMUW2_63fw0YdSQ_34_0"></a><a id="Tc_BuV3UKZbA0iTQDzydGKAYA_34_3"></a><a id="Tc_tXAJU4EmoEKvGRagBYTyWA_35_0"></a><a id="Tc_Nkj8iU7HBEWfhf8lMT0npg_35_2"></a><a id="Tc_Y7WO9YWqGkOV0kg8ye6oSA_35_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three&#160;Months&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_J02bbbiME0uoRj2l4pE_CQ_5_3">58,344</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc__mvTKBratkSolk8XUyMDug_5_6">26,504</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_pfQM7S2tDkq3b5C-Pz4mQA_6_3">35,092</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_uWyflfZ0XkmRCyiCbckuDw_6_6">16,869</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_TCCy8vYCZkuI8vaddtCRgg_7_3">14,980</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_D-EgNHcBEUOe1Wrlw3iKLw_7_6">8,305</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="Tc_60njP4hNwkmrMCxSW1ru0w_8_3">127</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="Tc_pr8tEeJ8BUe_qk-CsmaB1g_8_6">84</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostsAndExpenses" scale="3" id="Tc_6OBROZS_8EioOIAPkGvB-A_9_3">49,945</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostsAndExpenses" scale="3" id="Tc_EBFa2leeUEikOfSqe-xZoQ_9_6">25,090</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Income before provision for income taxes</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_aTkZ5UFTdUeLqIi74OCfDw_11_3">8,399</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_xz99lDDoPEmw-qKPznkbEw_11_6">1,414</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_EHU0zUwPDk2soIicuWpXwA_13_3">612</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_WSUsWHEA50y8abB5LfSykg_13_6">424</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Consolidated net income</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ol_a_meQVUeX0w3Ixyd2ag_15_3">7,787</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_fsx8tauJvk647FRuVvNqIg_15_6">990</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Income attributable to non-controlling interests</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_5UrOgEGo10C-iEY5Gnx1DQ_16_6">1</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net Income attributable to Innodata Inc. and Subsidiaries</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_NRosEG9wpEGztdWumw0I8g_17_3">7,787</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_LH_dVjwXDUqvVc6ll9Xcww_17_6">989</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Income per share attributable to Innodata Inc. and Subsidiaries:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_INiLtpuHZE2IjBl13-oggA_20_3">0.25</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_Q5c_4DssCkyHgfPI3hO8JA_20_6">0.03</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_TW8OwLhYAESbj3FpHsz52w_21_3">0.22</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_x38KuenH2kSFXQBTjuqMwg_21_6">0.03</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Weighted average shares outstanding:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_QunhiHy870WaZbW0tyeWHw_24_3">31,434</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_frPtMh6Q902qqKUVRePG4g_24_6">28,753</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_5yvIbCHrRUaBuaA9GqRiNQ_25_3">34,951</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_anb201Rlq0eO8zx4G6i-iw_25_6">32,239</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Comprehensive Income:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Consolidated net income</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_6YTXGjg9_EaZ3IcuteDsnw_28_3">7,787</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_XtZIqEg-KEisIeudu6EBeQ_28_6">990</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Pension liability adjustment, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_gCWxUJkZFUmP0qYspwZEZA_29_3">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_ZEvsYb-oeEO_NMZyhxegtQ_29_6">1</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc_zFW5rQBpO0yeE8JHBUSOzQ_30_3">109</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_Mf_XfPn0akOEb-RK_zu4Jg_30_6">130</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Change in fair value of derivatives, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" id="Tc_0YqTwvWXhEORjXGA4anEbg_31_3">274</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" sign="-" scale="3" id="Tc_3iaJlsBgqUOzWQZpQqCQDw_31_6">34</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other comprehensive income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="Tc_xBvRXPwQlUSmuaa6reMPbw_32_3">382</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_UV5STt_0Kk-srOyM6pLrhw_32_6">165</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total comprehensive income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_WxoXtc0InE-bkVWa5KnCaA_33_3">8,169</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_R2ZS2lXkX0uTf9-EwhYNCg_33_6">825</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Comprehensive income attributed to non-controlling interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_ziInU26ALkmwy3PgT2z2FA_34_6">1</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Comprehensive income attributable to Innodata Inc. and Subsidiaries</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_7rEIiMlY2kueV0G5b7QhFw_35_3">8,169</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_JwriEnCJtkaoVJ9adLc-hQ_35_6">824</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">See notes to Condensed Consolidated Financial Statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_92d9508c_e8b5_43b0_8081_c2c738447215"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><a id="CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLO"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_f308c1b1_0311_4663_bd8e_aac156590d03"></a><a id="Tc_Vk7sIZREok6NIgFQrGPQdg_1_2"></a><a id="Tc_mrbCrrlQ40GGOoOD7HX0Ng_2_2"></a><a id="Tc_9z81uHCAJ0eGrzqebWgbmw_3_2"></a><a id="Tc_MWMqYfDpyEqwwJnK7g3bkQ_3_5"></a><a id="Tc__ooLKiTVEE-xmdGk55Mi2Q_4_0"></a><a id="Tc_AB1tfQgaK0eOsUhCE4sfzA_5_0"></a><a id="Tc_KSUQRY7qLkyX1CcCxlxxXg_5_2"></a><a id="Tc_RZNEOzvnLUWlXBveFipVlg_5_5"></a><a id="Tc_U6acRHfZukC3Nn1xS93nYg_6_0"></a><a id="Tc_z7nqy4gh9UiaBGwwudQoQA_7_0"></a><a id="Tc_toORlbZfakisVhaR_LZOfQ_8_0"></a><a id="Tc_r2znTvsznE6yCYUK0S-2yg_9_0"></a><a id="Tc_b2Mb9yBhQEW8BfTkbZ97PA_10_0"></a><a id="Tc_KZmXqaRt0Eu4UX0S_Cb8Yg_11_0"></a><a id="Tc_bXxWe-IIoUWtWbGSN6p0UQ_12_0"></a><a id="Tc_oJnOZ0YmD0yYhJj4Xl8PUw_13_0"></a><a id="Tc_YnIoAID27EOyVAUmNNCLxw_14_0"></a><a id="Tc_51WADm6UcUmZIAmJymvWuQ_15_0"></a><a id="Tc_PKzlxm3lKEeCnt_PJxULPw_16_0"></a><a id="Tc_-1YQdx-CYkCLj3YY4t_uoA_17_0"></a><a id="Tc_dmOV1Y4bP0CX8xlkPgvq6A_18_0"></a><a id="Tc_mC_VGbyb1UqxIFv6qO4zdA_19_0"></a><a id="Tc_X9uT3i2XlkOQINZSBMoGTg_21_0"></a><a id="Tc_sBOcoi2StkGHbuARrxMGjg_22_0"></a><a id="Tc_JzMA9AwjmE6d6su6egTVeg_23_0"></a><a id="Tc_ZTRa5KRn40KpyALKc-n7Og_25_0"></a><a id="Tc_R8MSUYhgsEyzJGb9zP0law_26_0"></a><a id="Tc_sHp6UcB9LE2OqIVR47psEA_26_6"></a><a id="Tc_M89J0ip1vE2uB4-fVS9eAw_27_0"></a><a id="Tc_-8-Hm7utnEiMHyR2SwO8Kw_28_0"></a><a id="Tc_1DY2cumta02IEVEdoMsEjA_30_0"></a><a id="Tc_7b1kRY19GU2Rhx-IVUbaiQ_32_0"></a><a id="Tc_YDfmhuRr5UKNj_ZK5yuJ0A_34_0"></a><a id="Tc_iRPEVvGcbEuyRsmEWx-k2w_35_0"></a><a id="Tc_jHkIG0kRlk68VNHu3XT-ag_35_2"></a><a id="Tc_aVqGzqjpOkmO3-V7KaFuEw_35_5"></a><a id="Tc_2pL82j5u0UmrZBBE1v9t0A_37_0"></a><a id="Tc_248imFty6UWc-cbwSfJsVw_38_0"></a><a id="Tc_5cYBIqjYLUqfExMe_9IW6A_38_2"></a><a id="Tc_3M5jZhPWGUWSsBpLeK9Giw_38_5"></a><a id="Tc__Hdg8K9ZUkKbYhAHyJ__bQ_39_0"></a><a id="Tc_oCQWJ8tO_0iiv7Y6aJq52w_39_2"></a><a id="Tc_DP_hr2LIh0O0TFdSW4L7VQ_39_5"></a><a id="Tc_tciRIZZldUWFSJVSuNs21w_40_0"></a><a id="Tc_0UJ5UOeceEWZqRDX_ZrGPA_40_2"></a><a id="Tc_nFXV_zAC_UesS3HY7xsQ-Q_40_3"></a><a id="Tc_2mbi2TSDc0WRKoGHLrFYvA_40_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cash flows from operating activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consolidated net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_75891tQtxUmJ8Lyg91qWCA_5_3">7,787</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ltxMYGemc0yQeXGYwNLG-g_5_6">990</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjustments to reconcile consolidated net income to net cash provided by operating activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_dbUv88YGgkuqxusVlaI9Sg_7_3">1,563</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_cY5bF0Wzy0eY9y7CDv-SIw_7_6">1,266</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_zWX5R-HUT0SqSOgMT4KEyg_8_3">2,881</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_scntgtOs_UeTJLcJaxfZJA_8_6">1,034</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Deferred income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="Tc_VjcPyPvD5kGP_W7m69suQg_9_3">149</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" sign="-" scale="3" id="Tc_BITZ1Eitw0OMKZF8UUjRBQ_9_6">54</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Pension cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanIncreaseDecreaseCost" scale="3" id="Tc_lGTLc5izPU2hWKqrs5eM4w_10_3">342</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanIncreaseDecreaseCost" scale="3" id="Tc_wB9tAR_cVkWuDR9ErBQ8Cw_10_6">309</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Changes in operating assets and liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_YCQWnmWSV0iJK55mLVDnjA_12_3">1,353</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" sign="-" scale="3" id="Tc_ivZFqJvdlkGG5O40L5RfWQ_12_6">137</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_2RN2qI_iXUmwVByp1apA7A_13_3">47</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_pHrNqPZlyUKvPfj0jtcg2w_13_6">86</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="Tc_wUSJ-MZ9AES2IGZZtIKxDA_14_3">16</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" sign="-" scale="3" id="Tc_VczJfr66kUK7DKclQPJbZQ_14_6">426</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts payable and accrued expenses </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" id="Tc_3hPfB2vwZ0Wd2jknpGIqcQ_15_3">661</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" sign="-" scale="3" id="Tc_52O5rlWahE24U4pXNygRxw_15_6">307</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred revenues </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_1EN4UknAi06r_8LcPMEkgg_16_3">18</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_xJRb64Ps9kOKUVeWmEA1NA_16_6">3,145</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued salaries, wages and related benefits </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" sign="-" scale="3" id="Tc_YNJhCzbIp0mBoIktvKEmOA_17_3">249</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" sign="-" scale="3" id="Tc_XGZmrZ-8l0erGdPOojFigQ_17_6">490</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Income and other taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" sign="-" scale="3" id="Tc_KAJsUr8glEa7AgslDs6Mnw_18_3">869</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" scale="3" id="Tc_v1KMsz-hbk2mYKr75zG19g_18_6">225</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Net cash provided by operating activities </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_gqaWqmuwAUyU8nV2dlt-8A_19_3">10,867</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_-VQMI6g4t0u9RiMLLo66JQ_19_6">6,767</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 18pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cash flows from investing activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Capital expenditures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_NB7rMxJMkEe54fCdGUDX5g_22_3">2,350</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_70cdZm2naEyq-E4RU0didA_22_6">1,339</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Net cash used in investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_hM-as1oo_kiXJOVZ1-Afvg_23_3">2,350</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_JzrvGBrep0KqWaR_FxDvsw_23_6">1,339</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cash flows from financing activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Proceeds from exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_7ib3t1U85ESIYUYEZLPbJg_26_3">963</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Payment of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" id="Tc_JXnNfE8HiUqH5pwvnVhaxw_27_3">103</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" id="Tc_tGCULYo6j0OzfnC0eF4JxA_27_6">291</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="white-space:pre-wrap;">Net cash provided by (used in) financing activities  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_Evu7UUxc0E-_sX7h4R7M9g_28_3">860</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_wzXZqvfl7UWOi9XTsaIo3A_28_6">291</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Effect of exchange rate changes on cash and cash equivalents</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_h1nc8wQrFEa5MSEDKQ70CA_30_3">282</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_QZWgW3B2mEGC9ItPhS3Umg_30_6">32</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net increase in cash and cash equivalents</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_DmMHChCt4UmMLCGI6yM0Cg_32_3">9,659</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_dwXaILgA3UaO_EMjJNOLvw_32_6">5,169</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cash and cash equivalents, beginning of period</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_HYurvy9cbE2QgCQMZ5ylZw_34_3">46,897</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023__GcnigSyZEubg1y5OT8zKg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_ZKdbahQPBEKrlH_QQq8hmg_34_6">13,806</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cash and cash equivalents, end of period</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_hRaKH5OpME6u0e5kFW3AaQ_35_3">56,556</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_3WB9A9ivUkCnFJMknH7HSQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_i-WwG48InEutK0rRB34rPw_35_6">18,975</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Supplemental disclosures of cash flow information:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash paid for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaid" scale="3" id="Tc_bo7VJZL2NUeeJ9Z02xtJng_38_3">112</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaid" scale="3" id="Tc_9bEVkHJU30ijzp5XnbhFHA_38_6">155</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash paid for operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_GwWitGbMYEO-0qm8dnb9KA_39_3">356</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_pTwFL2bXCk6ewUeAg_rgrQ_39_6">361</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash paid for interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_iW6RMNI6BUKMvQURl1xOVQ_40_6">68</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">See notes to Condensed Consolidated Financial Statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:3.45%;padding-right:3.45%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_ff20d6d1_88a3_45c0_b428_702c56dca076"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><a id="CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHO"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">THREE MONTHS ENDED MARCH 31, 2025 AND 2024</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><a id="_38d566ab_3a47_4e10_b40a_3b94df29c7d6"></a><a id="Tc_RjyC-wl8-06I7SmbBHViow_1_13"></a><a id="Tc_RtkhLYY6c0ae5_EyNVHV_A_2_7"></a><a id="Tc_kDY6dHqDmUiIuWBLcB3M3Q_2_13"></a><a id="Tc_X64iBPxTiU-i5h-uQASjZg_2_21"></a><a id="Tc_UDUY5Fvr7kiOjCMKALe_xA_3_2"></a><a id="Tc_0PXefEeea0m3rdyZ2ArztQ_3_7"></a><a id="Tc_T8_k_g1Cj0SFgqd6g2SClA_3_10"></a><a id="Tc_CasLbrIbrk-RYoHYce5T-A_3_13"></a><a id="Tc_c0epBuZLK0yESN_Sg8qAdQ_3_16"></a><a id="Tc_tVgZQz8raEuiTx9uAoIveg_3_21"></a><a id="Tc_J_RRgyPd1EuLCm76O7BH5w_4_2"></a><a id="Tc_x2Z94rW0fk-CuslV0PT-4w_4_4"></a><a id="Tc_f9bik4y_nEKTNiSmTyCNaA_4_7"></a><a id="Tc_V0dYG7NZbk-ILbQPIFr33g_4_10"></a><a id="Tc_bwJ_EyWcIkuWKB51V3nx1A_4_13"></a><a id="Tc_-kN_ZasBGU-PG8sK_6t7CQ_4_16"></a><a id="Tc_ByHbOfXMEUunqVAzqLtN3A_4_18"></a><a id="Tc_36XCx9pUuUaAbtnjyp9GZg_4_21"></a><a id="Tc_57LE9jmaSEeJEd1TutDzWA_4_24"></a><a id="Tc_vB23OArqYk27zI3rFeXGTQ_5_0"></a><a id="Tc_7fg0ZiPaPEie1G9XHj9F-Q_5_4"></a><a id="Tc_hTDT1yL9yke3wBuGhPcccg_5_7"></a><a id="Tc_YVcIUgzH0ECFv8IMlXhxoQ_5_10"></a><a id="Tc_r2XcF5BCxU-6uivGpFjIYA_5_13"></a><a id="Tc_drTBNyHCKUyJ0Kj7HPzCrA_5_18"></a><a id="Tc_xKtynXWr2kWy4H34MAp4-Q_5_24"></a><a id="Tc_5UmPgA6OZkGK7xEYn9aYzw_6_0"></a><a id="Tc_qNtUr171m0SYuHvK5BJlqw_6_2"></a><a id="Tc_VQUo7yZ8sU2PfoEFqE8dOQ_6_5"></a><a id="Tc_1xewUOMoO06nMvF6IP3qpQ_6_8"></a><a id="Tc_0FimmeWzv0enebfQKIzHcA_6_14"></a><a id="Tc_Cdl5QqyOnESDDGWu08kQRg_6_16"></a><a id="Tc_co6-JKdeVkaTHKT8NARjmA_6_19"></a><a id="Tc_3k_k4OQAwEur9f6sgQLNRA_6_22"></a><a id="Tc_BPEuwdOKRUCPSXzOrRo9zA_7_0"></a><a id="Tc_8fpSfOSsDEC5up1vHJMkMg_7_2"></a><a id="Tc_b0jki8gR_U23xWizFNEmXw_7_5"></a><a id="Tc_4yqH9q8uxE2dgnpBkbViyQ_7_11"></a><a id="Tc__E9P_QgoMUuRYQ1MVkLXwQ_7_14"></a><a id="Tc_S64VDv_blUOd_S6gAM9wUQ_7_16"></a><a id="Tc_lmZhXZ4r4kulcxvBgAbUmA_7_19"></a><a id="Tc_JBdS6B8PLk6R6zctEgiEFQ_7_22"></a><a id="Tc_h4FBz6oJqEWMY1xemAmEmQ_8_0"></a><a id="Tc_AiWIa9VABk6e9spA9W5bjQ_8_11"></a><a id="Tc_CA4Fl09_ZUqvxzHTCO11Cw_8_14"></a><a id="Tc_FA2XNOx_lUaS-ZZ54L0adw_8_16"></a><a id="Tc_OJQnDCqSP0S84YNFQ0_o1g_8_19"></a><a id="Tc_6j7XBne2-USKv4tVdeZKkQ_8_22"></a><a id="Tc_V1w4nVSRNEuihD-02mtUgA_9_0"></a><a id="Tc_vZ8toqMaxUuTU0K0Lx5XSw_9_11"></a><a id="Tc_MHvKkwKPjEKtC8YT04OGAA_9_14"></a><a id="Tc_KX4zPLWVk0OjayjdCesXoA_9_16"></a><a id="Tc_bvdjXCqTe0a_dVtbN4pTmw_9_19"></a><a id="Tc_ixvrUzt9A0eYB_Q9bE147g_9_22"></a><a id="Tc_AGpk1rJsH0aF4iNo8MllUA_9_25"></a><a id="Tc__2PNsfLQckK9DxfiC53E_g_10_0"></a><a id="Tc_SmBGgIlYa06hro5Z4EuaVg_10_2"></a><a id="Tc_1DpV5-GVd06120bGGlsGfQ_10_5"></a><a id="Tc_D-y5r4hht0Oalnwehx4zlg_10_8"></a><a id="Tc_8E65wHXyf06u4lFncarM1A_10_11"></a><a id="Tc_ZyOE664BxEynRxgyZIzjcg_10_16"></a><a id="Tc_ayiDz6kvhk64jyqJsJnxqg_10_19"></a><a id="Tc_GHt_spMMTUSxAqWXG86ooQ_10_22"></a><a id="Tc_PHLPfmtR2UmwyQsACfL0Pw_11_0"></a><a id="Tc_GpHmBgkBSUCOB_xBRRTGng_11_2"></a><a id="Tc_tDMxprFUyEqTSRC-q18baA_11_5"></a><a id="Tc_njo7R1ai3kCCAmOX2ZY7hA_11_8"></a><a id="Tc_oDIaeX5KyUa0kiIot8__cQ_11_11"></a><a id="Tc_vLGC6BIPOE-w07E1oGqgQg_11_16"></a><a id="Tc_hgWPX7qE4kmCmL_WkpKMrQ_11_19"></a><a id="Tc_maSHpg_Uf0GfA70gtLmJEA_11_22"></a><a id="Tc_-ZrRr1dacUe4XFVlTx4vnQ_12_0"></a><a id="Tc_l_HVk0jSIUGH2n16Lyyn2Q_12_2"></a><a id="Tc_I-Q4rzR2Gk6gRVYLR_svEQ_12_5"></a><a id="Tc_za481r4m0Um92GXeSjYbzA_12_8"></a><a id="Tc_QMvCHlcT3Em_PEt3sF2_0A_12_11"></a><a id="Tc_3x5AkZQfh0qUIOc2ysgDQA_12_16"></a><a id="Tc_DGnvm28aKki1KKmFveWMhg_12_19"></a><a id="Tc_Hp4oI7YH2E6hiyszZw5dqQ_12_22"></a><a id="Tc_oK3qgqrwak69gjnCNv90_A_13_0"></a><a id="Tc_KsTRIcBnakiUgVZhUDiNCg_13_4"></a><a id="Tc_VGGEKbUfSUmRGOuBXSR3eg_13_7"></a><a id="Tc_U--Qv3QLpkiS4kNJdm2XFg_13_10"></a><a id="Tc_jkVOfAyLl0WTqTXWiMtQag_13_13"></a><a id="Tc_5HKb9k0QWE-MHm2r7RfYzg_13_18"></a><a id="Tc_sMo4j7r-gEqDS4rT85EAqg_13_21"></a><a id="Tc_Gr6i2S65HESSaZBnuh7qUw_13_24"></a><a id="Tc_fn65rEHCK0u9smnDDynwEA_15_0"></a><a id="Tc_PoT1_PxmH0aQgBsbhN3HMg_15_4"></a><a id="Tc_HE6Wp-XVVk2nH8yUQgxf8g_15_7"></a><a id="Tc_39KwCfENOUi7gOKs3QlsCw_15_10"></a><a id="Tc_dLqg7d86fkuLT5Yra1lh-Q_15_13"></a><a id="Tc_F0tHT8aLcEiUbIZ8vcTB_A_15_18"></a><a id="Tc_sDX4p5p9FkagXS2YUKGD9A_15_21"></a><a id="Tc_j6WNpRiHBUSlwWSNoleqHg_15_24"></a><a id="Tc_FGKHxpbNZkKzqCBfRM8eYQ_16_0"></a><a id="Tc_Gb-qFR5QwkyEIlFN9FnYtg_16_2"></a><a id="Tc_o9s33kUV30-oam1Ei35YnQ_16_5"></a><a id="Tc_lK4-eDGk_EWCqbwBrQDa-Q_16_8"></a><a id="Tc_TFfC3dVyVUWe_QYU2-pLCw_16_14"></a><a id="Tc_mFmdoMhHtkmzZK6TCTK7gQ_16_16"></a><a id="Tc_Vlix96VaiUeZ1uDNKHp0IQ_16_19"></a><a id="Tc_YiAOEbboAEmqum_aXkIPQw_16_22"></a><a id="Tc_6S8HDW4rVUy_3GrWGbr_lw_17_0"></a><a id="Tc_BegCg2J0hUi_GEMrFTqpBw_17_2"></a><a id="Tc_0vGtTKR2mEWu_zcMh2zX6w_17_5"></a><a id="Tc_jZ27pX9GR0KvHCnBSFzLYQ_17_8"></a><a id="Tc_cMa2euRpMEua5O2aTyRELA_17_11"></a><a id="Tc_d7p1q8K8k06RTNTunxN53w_17_14"></a><a id="Tc_s7ImGV9GykemliGGjjTb6g_17_16"></a><a id="Tc_ek7rHF0SAEO4a-kXkQLRKw_17_19"></a><a id="Tc_rAca8yisMk2_0hijPS4qEg_18_0"></a><a id="Tc_sM1llY0g5U-2svwXrsZyjA_18_2"></a><a id="Tc_o7z4BQ2C-0yfZ9wLk-qgVw_18_5"></a><a id="Tc_VEkvItgauESPIRyFYD_-Yg_18_11"></a><a id="Tc_LrEs-VdunE6HNWOBXcAtmg_18_14"></a><a id="Tc_kklPh05K30mxkoUfPwPutw_18_16"></a><a id="Tc_L_OykcbAgECdqVdhc5-vkg_18_19"></a><a id="Tc_-w29qB1Ew02t2jKcP2-eDQ_18_22"></a><a id="Tc_Z1Odmd4E10yMKIItHZNSlg_19_0"></a><a id="Tc_bQcBs6bQcUCdcr-CrvkI4A_19_2"></a><a id="Tc_V2nKPBcJkEuWQCOWmwlD7g_19_5"></a><a id="Tc_dntJTo_AvkCAMGxHP5ccUQ_19_8"></a><a id="Tc_8C57BhS76EyH1tr95wilpw_19_11"></a><a id="Tc_oVyP9l3e-0aEpEGZ3d-Iuw_19_16"></a><a id="Tc_bynwVlnKAUWh54UnQOz25Q_19_19"></a><a id="Tc_ONNu8OMctkiXaqLwRI1VPA_19_22"></a><a id="Tc_hu_hIehgU0C3JV72gUdWiQ_20_0"></a><a id="Tc_ScZFp2fHY0mh4dm14GxltA_20_2"></a><a id="Tc_KN3qhJwjNke_ufdIUeQYPQ_20_5"></a><a id="Tc_UKHqBGxcPE6SaFE5tWJWEg_20_8"></a><a id="Tc_LQzSEObxoEGTFHmfHIKa-w_20_11"></a><a id="Tc_nv3H6SebkUWoTwY5_Gw46w_20_16"></a><a id="Tc_O_RbFoanXkaSpGmAOtjtHA_20_19"></a><a id="Tc_IvaFpkegGUWY4qj1YkVEIQ_20_22"></a><a id="Tc_-i0jHIf6-kyQIi5pmbx3Cg_21_0"></a><a id="Tc_a-CCQLlp9kKkc0plXmaJqw_21_2"></a><a id="Tc_jm7DDz_jq0GannU5lmFiOA_21_5"></a><a id="Tc_J9IzHba6KUCAfNDUtLwN-Q_21_8"></a><a id="Tc_f7ToLjhbn0aHOtprmKMfjA_21_11"></a><a id="Tc_yNNwK39YSkO6K08McHeXOw_21_16"></a><a id="Tc_8EaApaKQ5kyjvG79h8BxKA_21_19"></a><a id="Tc_nr3sDmFxO0mOgKwUgu9Q6A_21_22"></a><a id="Tc_VjpZz085iUSah46BcFWYUg_22_0"></a><a id="Tc_YaWvDqJHw0KkZ16j87BXYA_22_4"></a><a id="Tc_vaCs4z90Xk6bZ_0Y66v47Q_22_7"></a><a id="Tc_-Jj_VQZfEki9FH2j9mHzvg_22_10"></a><a id="Tc_2WkNq2VkTkqAFAVUo_8fmw_22_13"></a><a id="Tc_XgUequzY2kKofZXDdQe90Q_22_18"></a><a id="Tc_BIVzRAvU_U6GaRuZsRQZxg_22_21"></a><a id="Tc_JOEVkj_zk0m_72GiFQBFuw_22_24"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:24.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:13.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Paid-in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Controlling </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Loss</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Interest</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:top;width:24.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">January 1, 2025</b></p></td><td style="vertical-align:top;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_CVGi1J_i40OelkVNmXAy_g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SharesOutstanding" scale="3" id="Tc_E6xYzk8q6Eq_7lmDPrwqNw_5_2">34,484</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_CVGi1J_i40OelkVNmXAy_g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_ACKMg6w1Kk-OE9GygIBZXw_5_5">345</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_F_ul_FrE9Euxk1kldquQGg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_5ERbZfrI8USLubs1qDv09g_5_8">53,085</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ZqUewE34XUqFxk7ueli0Qw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_7hKvPnEWUkaqPXZIv_CdSw_5_11">18,977</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_z3KIzkpaQEe2-ws4MeKhDA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_lpeQlNTOt0S9JH3YOl6EBQ_5_14">2,470</ix:nonFraction>)</p></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember__ybZuP6dv0GgjakZk4xdtA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" sign="-" scale="3" id="Tc_ub0YiqaRG0SadmNxkv-IsQ_5_16">3,184</ix:nonFraction>)</p></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember__ybZuP6dv0GgjakZk4xdtA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_ZFiy31896ESDkFY626j1fg_5_19">6,465</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_cEmeosAkMEmGprdLYaPc6Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_qz7a3SNHEUePZqcxx2MsLg_5_22">83</ix:nonFraction>)</p></td><td style="vertical-align:top;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_hud5F6uUAEOVbQQKFpPuOQ_5_25">63,389</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income attributable to Innodata Inc. and subsidiaries</p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_XxHuIN0Cw0iTF9iJ90858w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_b6VPk7ENaU2hlRRi87eSsQ_6_11">7,787</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_xaUZsH0R3EiLmfiv-2jSHA_6_25">7,787</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:24.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p1U864SUZUuiQ6s0ZgMpmw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_uGnXkSG8GEeomSiivRedEg_7_8">2,881</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_QHlwTVc6UEy_iLolxQKipw_7_25">2,881</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Stock option exercises</p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sXnQnrsj7UyRyYHWCiSInw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="Tc_ROEB2ESiNUuvuyL9eBHAoQ_8_2">261</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sXnQnrsj7UyRyYHWCiSInw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_e6zY4adHIkiitLQl27_tPQ_8_5">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p1U864SUZUuiQ6s0ZgMpmw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_bVRbX928i0Ga28tHO-L5RQ_8_8">961</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_IWXFZsHMv0acn2bMj6fd7A_8_25">963</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:24.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vesting of restricted stock units</p></td><td style="vertical-align:bottom;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sXnQnrsj7UyRyYHWCiSInw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" scale="3" id="Tc_36bROwxMKUGhKHoZd1pjaQ_9_2">184</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sXnQnrsj7UyRyYHWCiSInw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" id="Tc_iq-6Wxy-40iz0k1s5S0KXg_9_5">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p1U864SUZUuiQ6s0ZgMpmw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" sign="-" scale="3" id="Tc_gH82fwhnOUuGuCl877sRiw_9_8">2</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Pension liability adjustments, net of taxes</p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_2Oo5sSuZhkmcs4BtA5jlXA_10_14">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_xkygfX84MUaWjuUyxhlyAQ_10_25">1</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:24.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc_Hb2f451chkq_PfvJ6tI3EA_11_14">109</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc_LVpVXvDlTkaQy3S-OjXiOA_11_25">109</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Change in fair value of derivatives, net of taxes</p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" id="Tc_D5ItHQ2OlkGBf8EvVZ3rew_12_14">274</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" id="Tc_RnawcNzdX0a0U8vfspPaFw_12_25">274</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:24.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_kFNsa7ejg0WkqckLDfcfVg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SharesOutstanding" scale="3" id="Tc_id61wJOV9E-WK8r2DXHWtQ_13_2">34,929</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_kFNsa7ejg0WkqckLDfcfVg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_IDWZNWd3lEGv60LsUMqD_A_13_5">349</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_smT5dQfqJkyFn0MQ0eebhA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_cJkrSfQEIEGsNzKOx6cC8Q_13_8">56,925</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_uYq9fBz8akmPQ6Gj29tW6g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_nQntHFexukadyWF5HzyJLQ_13_11">26,764</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DGJrsuEAKkKGO8JDx40oEw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_U1Xlr5_DH0uKtBv3VM-HLQ_13_14">2,088</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_nl_9UkC0zE2hoBhPusC7XA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" sign="-" scale="3" id="Tc_GIsWMMpG4UKgp6ZbPfBRSA_13_16">3,184</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_nl_9UkC0zE2hoBhPusC7XA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_6rJL99Azj0CTLCeuO1NNaA_13_19">6,465</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Yj5_u3XMeEmd8WG7uKckfg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_9AnEP1uJ502eodGGyaWWGg_13_22">83</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_DGQY1gxVCkGAZ_mXLSdhBw_13_25">75,402</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:24.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">January 1, 2024</b></p></td><td style="vertical-align:bottom;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TeQDAiyoTkmmNyjoLY_ogQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SharesOutstanding" scale="3" id="Tc_fVUFl18H_Uy8jyqE78Vq9A_15_2">31,937</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TeQDAiyoTkmmNyjoLY_ogQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_NCg_NR_ACk6dIkTPYy8BQw_15_5">320</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fM6nUaztBEmXsIn1LSpj3A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_2ieyfK8O3UWCe2xnHzshpA_15_8">43,152</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fP9NL3oY70ygxkKByeTBpg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_oY-Re8s7tUq-uQp-SbiOXQ_15_11">9,683</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sRhdc0ZnR0q4ZHjL5zlSRw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_g7AAFYpHzUiJn--7sk8Vag_15_14">1,621</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_0Lr7KlIZR0WcC9DjO3dWlA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" sign="-" scale="3" id="Tc_yqahFfJjokOC1RqdARpz4w_15_16">3,184</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_0Lr7KlIZR0WcC9DjO3dWlA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_Thh0g8xQM0KW08jLdcBNHQ_15_19">6,465</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_EBJcdcskHk-altlzL0sdOw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_-_LAe4YtX0G_smwXv9iGAg_15_22">708</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023__GcnigSyZEubg1y5OT8zKg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_WStrxLkQjkivCq-rluwNMw_15_25">24,995</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net loss attributable to Innodata Inc. and Subsidiaries</p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_YAXChZZLi0e0gO7iKDyw2Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_BBX83g5B5ESDiwgvTVq32A_16_11">989</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_rtQNMktRPUahOqjXxFkK6A_16_25">989</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:24.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Income attributable to non-controlling interests</p></td><td style="vertical-align:bottom;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5Hub6B8sO0Gf6_gZtRpNsg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_wknXGUdRDkuCx_8LKi0fLA_17_22">1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_PfnBUo4Fnkuh5FoYwCoYag_17_25">1</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Z0E4VX-Fs0S6V8UIx1Zvvw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_dL79wyoRAku2RxeauRt43w_18_8">1,034</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_xuby_wPooka27rTbgm_C5A_18_25">1,034</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:24.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Pension liability adjustments, net of taxes</p></td><td style="vertical-align:bottom;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_Serr8rKei06-tF_RFClWwg_19_14">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_kPR1eAoCOkuW7GPlE-JxgQ_19_25">1</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_MY4HMBHxOUKQpS8KOhhS-A_20_14">130</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_6X89FnkjrU2mbQ5yTcZ5ag_20_25">130</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:24.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Change in fair value of derivatives, net of taxes</p></td><td style="vertical-align:bottom;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" sign="-" scale="3" id="Tc_63Nwm4YAqkqJmzuzwo5huA_21_14">34</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" sign="-" scale="3" id="Tc_Hu_T1NdN00yYuyp1_pGh3g_21_25">34</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:top;width:24.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cqgKz9o8eUqjMASqc31dbg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SharesOutstanding" scale="3" id="Tc_rtrMTW8nE0OzKK_zGXZpRA_22_2">31,937</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cqgKz9o8eUqjMASqc31dbg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_XcpGjiNgbUiJ1PETh8eWIw_22_5">320</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LAlIFr58aUyAeyv3AtqjJA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_mQTa0o5jbk2tgQgwKyiFSA_22_8">44,186</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_JlhbQbhigE6XSxmRxaROtg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_s6YUw2bQv0O4uUQo-Q-FNQ_22_11">8,694</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_nYar1tfyxk2rj6UzvMvBNg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_n4c3GPnX4UunLRKgMA0AtA_22_14">1,786</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_goQu0yolPkalxp1TLz2BWg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" sign="-" scale="3" id="Tc_E60odTDU0Uyn7JGUgrjYbg_22_16">3,184</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_goQu0yolPkalxp1TLz2BWg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_eizzlmzaDEatuvWs_VErJg_22_19">6,465</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_T7L02jp02UK3mVFj70DY5w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_58BFQ6SfFkC8bu_3H3NTHA_22_22">707</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_3WB9A9ivUkCnFJMknH7HSQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_I1SIUyd4mkyhBvKCXJ1qbw_22_25">26,854</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">See notes to Condensed Consolidated Financial Statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;display:table;margin-bottom:21.6pt;min-height:5.75pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">5</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:93.09%;border:0;margin:30pt 3.45% 30pt 3.45%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="a1SummaryofSignificantAccountingPolicies"></a><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" id="Tb_1jn9TYNfnE26eqbBc-yDeg" continuedAt="Tb_1jn9TYNfnE26eqbBc-yDeg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-align:left;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">1.</b></span><b style="font-weight:bold;">Summary of Significant Accounting Policies and Estimates</b></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="Tb_KCGHbwulq024J5O_XJ82Cw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Basis of Presentation </b>- The condensed consolidated financial statements for the interim periods included herein are unaudited; however, they contain all adjustments (consisting of only normal recurring adjustments) that, in the opinion of management, are necessary to present fairly the consolidated financial position of Innodata Inc. (including its subsidiaries, the &#8220;Company&#8221;) as of March 31, 2025 and December 31, 2024, the results of its operations and comprehensive income for the three months ended March 31, 2025 and 2024, cash flows for the three months ended March 31, 2025 and 2024, and stockholders&#8217; equity for the three months ended March 31, 2025 and 2024. The results of operations for the interim periods are not necessarily indicative of results that may be expected for any other interim period or for the full year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Certain information and note disclosures normally included in or with financial statements prepared in accordance with generally accepted accounting principles in the United States of America (&#8220;U.S. GAAP&#8221;) have been condensed or omitted from these condensed consolidated financial statements pursuant to the rules and regulations of the Securities and Exchange Commission (the &#8220;SEC&#8221;) and, accordingly, 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 10-K for the year ended December 31, 2024. Unless otherwise noted, the accounting policies used in preparing these condensed consolidated financial statements are the same as those described in the notes to the consolidated financial statements for the year ended December 31, 2024.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ConsolidationPolicyTextBlock" id="Tb_skJg6RBSk0yG2PKurqchlA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Principles of Consolidation&#160;</b>- The condensed consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:UseOfEstimates" id="Tb_ptc07x-VTkOKVuKVczDDXg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Use of Estimates&#160;</b>- In preparing the condensed consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the condensed consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates and assumptions used in the preparation of the condensed consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for credit losses and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ConcentrationRiskCreditRisk" id="Tb_hUlnCeNf70i95YZx6oPeog" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Concentration of Credit Risk</b> <b style="font-weight:bold;">-</b> The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At March 31, 2025, the Company had cash and cash equivalents of $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="6" id="Narr_BtktNovRnEig7DaB1-BsJQ">56.6</ix:nonFraction> million, of which $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_srt_AsiaMember_QqmOzKCPW02nqUDHxGNsrA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="6" id="Narr_KUZKNR_qcU6zcImnjB5bjw">17.3</ix:nonFraction> million was held by its foreign subsidiaries and $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_US_CHYsuTVyMUu34excVbZvMQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="6" id="Narr_eQBihAXHcUWdWVJ1exkFww">39.3</ix:nonFraction> million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="Tb_1kxJlL4nS0aovzvkS7-LHA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Accounts Receivable&#160;</b> - Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#8217;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#8217;s current creditworthiness. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services, service penalties, discounts and price adjustments. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:RevenueRecognitionPolicyTextBlock" id="Tb_ICCg11ARI0CLREkA6V3ONQ" continuedAt="Tb_ICCg11ARI0CLREkA6V3ONQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Revenue Recognition&#160;</b>- The Company&#8217;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#8217;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.</p></ix:nonNumeric></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_1jn9TYNfnE26eqbBc-yDeg_cont1" continuedAt="Tb_1jn9TYNfnE26eqbBc-yDeg_cont2"><ix:continuation id="Tb_ICCg11ARI0CLREkA6V3ONQ_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Digital Data Solutions segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#8217;s functional software and providing access to the Company&#8217;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue includes reimbursement of out-of-pocket expenses, with the corresponding out-of-pocket expenses included in direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:10pt;">Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of </span><ix:nonNumeric contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" format="ixt-sec:durwordsen" name="us-gaap:CapitalizedContractCostAmortizationPeriod" id="Narr_79N2ROgdaUqjbyoOG94g7w"><span style="font-size:10pt;">12 months</span></ix:nonNumeric><span style="font-size:10pt;"> or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying condensed consolidated balance sheets are contract acquisition costs amounting to </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="6" id="Narr_13YRGK7wnEyPJQTgR0gfQA">1.0</ix:nonFraction></span><span style="font-size:10pt;"> million and </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="6" id="Narr_KCxteeAQg06J5LbB8cmcfQ">1.1</ix:nonFraction></span><span style="font-size:10pt;"> million as of March 31, 2025 and December 31, 2024, respectively. These acquisition costs relate to our Agility segment and are amortized over the term of the subscription agreement.</span></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Tb_N3bd_OzCiE2hu95VVE3gfg" continuedAt="Tb_N3bd_OzCiE2hu95VVE3gfg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency Translation&#160;</b>- The functional currency of the Company&#8217;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the United Kingdom and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, United Kingdom Pound Sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on March 31, 2025 and December 31, 2024 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#8217; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange losses resulting from such transactions of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="6" id="Narr_UhU9BiDZg0aWGORAnOt64w"><ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="6" id="Narr_N0pXcZ_Ta0a-jqSep9mqXA">0.1</ix:nonFraction></ix:nonFraction> million for each of the three-month periods ended March 31, 2025 and 2024, respectively.</p></ix:nonNumeric></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_1jn9TYNfnE26eqbBc-yDeg_cont2" continuedAt="Tb_1jn9TYNfnE26eqbBc-yDeg_cont3"><ix:continuation id="Tb_N3bd_OzCiE2hu95VVE3gfg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The functional currency for the Company&#8217;s subsidiary in Germany is the Euro. The functional currencies for the Company&#8217;s Agility subsidiaries in the United Kingdom and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#8217;s condensed consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive income or loss in stockholders&#8217; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying condensed consolidated statements of operations and comprehensive income (loss).</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:DerivativesPolicyTextBlock" id="Tb_6gTEvh4aR0ishm6X6_1ynQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Derivative Instruments - </b>The Company accounts for derivative transactions in accordance with the FASB&#8217;s Accounting Standards Codification (&#8220;ASC&#8221;) Topic 825, &#8220;Financial Instruments&#8221;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in other comprehensive income (loss). When the amounts recorded in other comprehensive income (loss) are reclassified to earnings, they are included as part of direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of direct operating costs.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" id="Tb_5bm6b1wXlkaqz9Q60hZgRA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-size:10pt;font-weight:bold;">Capitalized Developed Software - </b><span style="font-size:10pt;">The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from </span><span style="-sec-ix-hidden:Hidden_hC03GuxpME62fR1sD86aBQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span><span style="font-size:10pt;"> to </span><ix:nonNumeric contextRef="As_Of_3_31_2025_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_J0SiirM_OUyZsHf9vNgnHQ" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_99sGKYabgkeD2bjwEQfmmQ"><span style="font-size:10pt;">ten years</span></ix:nonNumeric><span style="font-size:10pt;">. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress were </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_32BSB4ka-E6v3pBhnHwuXQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr__OSRgWTrAU-VkZnZab4rIA">4.3</ix:nonFraction></span><span style="font-size:10pt;"> million and </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_ecpxe3JL7EmK0B06jvbYAA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr_Nh_VfG7XtkicBYzEcFk3vw">3.6</ix:nonFraction></span><span style="font-size:10pt;"> million as of March 31, 2025 and December 31, 2024, respectively. The cumulative completed capitalized developed software was </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_xkuEsfR0J0eqTCcyAOLlnA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr_xMOgD_Phr0-egraDC-1CWw">19.4</ix:nonFraction></span><span style="font-size:10pt;"> million and </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_37n2mnxsPEqScAOlUMj96Q" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr_MxduhYSRQkidpIKHAIS10A">19.8</ix:nonFraction></span><span style="font-size:10pt;"> million as of March 31, 2025 and December 31, 2024, respectively.</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:IncomeTaxPolicyTextBlock" id="Tb_tO-giEO22UmAjgagMQmXvw" continuedAt="Tb_tO-giEO22UmAjgagMQmXvw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income Taxes - </b>Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#8217;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the deferred tax assets of subsidiaries in Canada and Germany will be realizable or not.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company assessed one of its Canadian subsidiaries for the three months ended March 31, 2025 and the assessment yielded positive evidence enabling the release of the valuation allowance for the Canadian deferred tax assets of the subsidiary under &#8220;ASC Topic 740-30-22 &#8211; Accounting for Income Taxes&#8221;. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As the expectation of future taxable income of the second Canadian subsidiary and German subsidiary cannot be predicted with reasonable accuracy, the Company continues to maintain a valuation allowance against the deferred tax assets of these subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company accounts for income taxes regarding uncertain tax positions and recognizes interest and penalties related to uncertain tax positions in income tax expense in the condensed consolidated statements of operations and comprehensive income.</p></ix:nonNumeric></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="Tc_Ar9GeZfRUUKUxOVyU_pfgg_1_2"></a><a id="Tc_K73qZ3qtWESEh-Dr1h-Q-g_1_5"></a><a id="Tc_v-QzNVul0Uy8Ldqz5lOaaA_2_2"></a><a id="Tc_0sZFOGCed0e34G9BtmNP8A_2_5"></a><a id="Tc_tydvjG1IxkqDET28Ji6GEQ_3_0"></a><a id="Tc_gVhFnAP4o0qsPHQ8ATYASw_3_2"></a><a id="Tc_zMjer6fNyUGMaD23Y4HIAg_3_5"></a><a id="_58318e65_d640_4e9a_bf59_78cbfc260a2a"></a><a id="Tc_QH0UQdz7fkKtQrt9VXzSMw_1_2"></a><a id="Tc_6P1-M3PyGUWGXaeu7xEypw_2_2"></a><a id="Tc_67q_-3s6mEO_66GrPkylsA_3_2"></a><a id="Tc_icHsKtPKEU6B95a3EyIYdw_3_5"></a><a id="Tc_TOYTjAaikUaQcTCwgYisCg_4_0"></a><a id="Tc_A5wKOWsBxUKuoUDPUvxfXA_4_2"></a><a id="Tc_1vohmB8YAkmuYLS0T1qIcA_4_5"></a><a id="Tc_M4c34tJO80ehR8jbbDQ52w_5_0"></a><a id="Tc_I6Lij8OpA0Ov1YYT6-sidQ_6_0"></a><a id="Tc_7hYfAJ_ul0uH-_EfS_O7aQ_7_0"></a><a id="Tc_9LsQxBQoNE-DbaRBViQnXw_8_0"></a><a id="Tc_h35o610B0kau7C89EqRfNg_8_2"></a><a id="Tc_6mU0ejm8pUu7bBIAmg-Klg_8_5"></a><ix:continuation id="Tb_1jn9TYNfnE26eqbBc-yDeg_cont3" continuedAt="Tb_1jn9TYNfnE26eqbBc-yDeg_cont4"><ix:continuation id="Tb_tO-giEO22UmAjgagMQmXvw_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Tb_bod0Rb-lCkiHPhgj6x4IKQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-size:10pt;font-weight:bold;">Deferred Revenue - </b><span style="font-size:10pt;">Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. We expect to recognize substantially all of these performance obligations over the next 12 months. </span><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="Group_iqChQz3pSUa3T9TYaIElaQ" continuedAt="Group_iqChQz3pSUa3T9TYaIElaQ_2" escape="true"><span style="font-size:10pt;">The table below summarizes the deferred revenue balances as of March 31, 2025 and December 31, 2024 (in thousands):</span></ix:nonNumeric></p><ix:continuation id="Group_iqChQz3pSUa3T9TYaIElaQ_2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_divOdCyzqk6u7sFlWe5g8Q_3_3">8,028</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_eGjJV7p_dUS0IfNn65u0sw_3_6">8,010</ix:nonFraction></p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:DeferredRevenueByArrangementDisclosureTextBlock" id="Tb_vDRpsJ2GZUGRoG8Ct0t-Vg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balances for the three months ended as of March 31, 2025 and 2024 were as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at the beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_BEXufvza20Ce9GSP3D9mtg_4_3">8,010</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023__GcnigSyZEubg1y5OT8zKg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_Tv5m17TgUEyJh03AmasSKw_4_6">3,523</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenuePeriodIncreaseDecrease" scale="3" id="Tc_nThK4DEop0mh-ojxMoNc9A_5_3">6,465</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenuePeriodIncreaseDecrease" scale="3" id="Tc_2tPZ_lelP02r1kE2e20QJQ_5_6">9,932</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="3" id="Tc_F3qZRUYskEy2Ov-iABqa8A_6_3">6,607</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="3" id="Tc_UIzmatdLdkKyXuxNUA18DA_6_6">6,707</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" sign="-" scale="3" id="Tc_DcYn5vPt9U-nTESFVmKoKA_7_3">160</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" scale="3" id="Tc_FWkucjQxB0K6VMZlS2i7GA_7_6">80</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at the end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_xGEogqv3ZUGyn32-OyreRQ_8_3">8,028</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_3WB9A9ivUkCnFJMknH7HSQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_UfNQjmzfnEexY1zeyHqAzQ_8_6">6,668</ix:nonFraction></p></td></tr></table></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Tb_ZeAnR6COaEKr_GfmPQyGAg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Recently Issued Accounting Pronouncements Not Yet Adopted</b> - On December 14, 2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2024 and interim periods beginning after December 15, 2025. The adoption of ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. We do not anticipate any material impact from the adoption of this new standard.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">In November 2024, the FASB issued ASU 2024-03, &#8220;Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40), fourth amendment via ASU 2025-01: Disaggregation of Income Statement Expenses&#8221;. ASU No. 2024-03 does not change or remove existing expense disclosure requirements but requires disaggregated disclosures about certain expense categories and captions, including but not limited to, purchases of inventory, employee compensation, depreciation, amortization and selling expenses. ASU No. 2024-03 will become effective for us in fiscal 2027 and in the first quarter of fiscal 2028 for interim reporting. Early adoption is permitted. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_1jn9TYNfnE26eqbBc-yDeg_cont4"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_524b7476_5b83_415c_bce4_237714b67129"></a><a id="Tc_PA6AZkfYZECNPqpK7hqhwA_1_2"></a><a id="Tc_uewsCIwRnEWlasGRqTsDOg_1_5"></a><a id="Tc_gNKzQvHOf0mrD39bPQSCpQ_2_2"></a><a id="Tc_Ur_lDC_LLkebWM4GauYJLw_2_5"></a><a id="Tc_V_b9zdzdVUm3xgXtDM7I-w_3_0"></a><a id="Tc_Oco_JyluOEunYtWbIWv1NQ_3_2"></a><a id="Tc_YoKs1rEVVEmH08I-I9f_Ww_3_5"></a><a id="Tc_U2Gfzt1RJ027E8bkuJb8bA_4_0"></a><a id="Tc_-fT2mFaNaUGJppfgGH15_A_5_0"></a><a id="Tc_qC_crQjZskai7nxewtaplA_6_0"></a><a id="Tc_-7EZUVIOgU-i4ZPl1kV5xA_6_2"></a><a id="Tc_RjBfbJXQUUOGk3XEFnZlSw_6_5"></a><a id="_a651b663_d6c5_4887_a185_54095aa7ad17"></a><a id="Tc_Aqn7i6m0EUaj9DvJ9_nXJw_1_2"></a><a id="Tc_POe_CNyawkifHfL1f7xxWw_2_2"></a><a id="Tc_LZrnxzfY3UOzYCTOxmpIDg_3_2"></a><a id="Tc_QcsZZM3UZkCepC_QdN11Sg_3_5"></a><a id="Tc_5e99p9jmwk6ILq_5Wj97OQ_4_0"></a><a id="Tc_1xrO5iOxy0i2AJPm4JRMcQ_4_2"></a><a id="Tc_IcA5hE5YqUKgda54JU70-w_4_5"></a><a id="Tc_sr0NX3IvrEusHm6G3SbSxw_5_0"></a><a id="Tc_rAmljH5wqEGbCXVSR7aqPg_5_3"></a><a id="Tc_PZuZX2-cnU24kGBjUhQZfA_6_0"></a><a id="Tc_5RiTpclvQkOjVdaO6LDZ9A_7_0"></a><a id="Tc_u_5-0dqO5kGlya4YPo40lQ_7_6"></a><a id="Tc_GM86bQJiW0eRt_9Iv-eq7g_8_0"></a><a id="Tc_f5EyOFY4Hk6s76-gEYwPyQ_8_2"></a><a id="Tc_M5NQ_l8rAUKoqz7mFguCmA_8_5"></a><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:AccountsAndNontradeReceivableTextBlock" id="Tb_mG5jpR2NGUmFpXAUgy8p3g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">2.</b></span>Accounts Receivable</p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" id="Tb_XfwNh-J-uEy-1UnQSjBedw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Accounts receivable consists of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gross Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_SYUcNgp310Sjv-pWjr9hAg_3_3">31,415</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_TrFbuDrPpUmNqm4bgi7Q1w_3_6">29,772</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_heGM0FySlUqvQ72JdjleVw_4_3">1,205</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_H6GcsotqB0S5TkC-qhl8lw_4_6">1,256</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Allowance for billing adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:AllowanceForDoubtfulAccountsBillingAdjustment" sign="-" scale="3" id="Tc_sRSDjGAXf0uGeR5pL0TAVw_5_3">633</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="inod:AllowanceForDoubtfulAccountsBillingAdjustment" sign="-" scale="3" id="Tc_ytheHkHvnE2DT7-nC59zHw_5_6">503</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_euDjCCTMrEi6732KT4U1Jg_6_3">29,577</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_HlGyuRBkDUqlFqRqPfOKgw_6_6">28,013</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:9pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="Tb_Q1-o0DLKw0m3UliOvDX5fA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Activity in the allowance for the credit losses for the three months ended March 31, 2025 and 2024 was as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_6siH4F_vTEy3r50mfgOqHg_4_3">1,256</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023__GcnigSyZEubg1y5OT8zKg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_N3AQfNyIaU6SSkJQmr9vMA_4_6">992</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions charged to expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_16-M-Syqkkue-ykW__RffA_5_6">15</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Write-offs against allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="3" id="Tc_qOo9mrv50EGdG6QIKT3Ghg_6_3">55</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="3" id="Tc_3GE7GMtW1UiHW6Y-YDWatw_6_6">7</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" scale="3" id="Tc_rXUzlrDF0Ui1EELOKBGNhg_7_3">4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_3zRsD6aXsEGuDtepZfJrSA_8_3">1,205</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_3WB9A9ivUkCnFJMknH7HSQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_QK6VhYhz50GJuTH8X-u5ZA_8_6">1,000</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_35a14cee_5cc7_492f_99c2_68877454c17a"></a><a id="Tc_SuW8CRfCXUOiWMfLb-AB-g_1_0"></a><a id="Tc_CcwhcIce2Emwn0YBQxehOA_1_2"></a><a id="Tc_fR7t4H8gckWP08e4lbqSjA_2_0"></a><a id="Tc_XFmORWmzPkWtmz8edVn-Wg_3_0"></a><a id="Tc_ByCHcDfBf06VRwATa7u-1Q_3_2"></a><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="Tb_U5YYL_PthEWJeNf5JM-Jlg" continuedAt="Tb_U5YYL_PthEWJeNf5JM-Jlg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">3.</b></span>Goodwill and Intangible Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt;"><i style="font-style:italic;">Goodwill</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfGoodwillTextBlock" id="Tb_fIn_lFnW3Uy2yi4H7NFFsw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The change in the carrying amount of goodwill for the three months ended March 31, 2025 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance - January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" id="Tc_JNnENN4OdkGAIbetHD4EAA_1_3">1,998</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" sign="-" scale="3" id="Tc_Aah1XrR3sk6pEaBi7ozuWw_2_3">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance - March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" id="Tc_kJawU9UYxEeBODFcWLsnzQ_3_3">2,018</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The fair value measurement of goodwill of the Agility segment was conducted on September 30, 2024 and was classified within Level 3 of the fair value hierarchy because the Company used the income approach, which utilizes significant inputs that are unobservable in the market and the market multiple approach using comparable entities to further validate the carrying values. The Company believes it made reasonable estimates and assumptions to calculate the fair value of the reporting unit as of the impairment test measurement date. The carrying value of Goodwill was $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="6" id="Narr_boA89m0enEaU7oh3w5V_JA"><ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="6" id="Narr_AS1gCGG21kqeWx_FQDvpcw">2.0</ix:nonFraction></ix:nonFraction> million for each of the periods ended March 31, 2025 and December 31, 2024.</p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_152358d8_5938_4a08_9c94_a6a359e2b0fb"></a><a id="Tc_pIfHF5K50EGORLKOfOs94w_1_2"></a><a id="Tc_ZDw5XjQQ1Eq64BYjLG46mA_2_8"></a><a id="Tc_f0GuDZUiJUCcPvEOPW-_0g_3_2"></a><a id="Tc_UOMt1465qUCqe8Dc-U7Z8w_3_8"></a><a id="Tc_8NsMVwgz3kOg89RYt8NZVg_3_11"></a><a id="Tc_4dSO1vb-eUiw9Y_QbLyVkQ_4_2"></a><a id="Tc_X0lvjr8eWEy7JgVq80UDnA_4_5"></a><a id="Tc_pSwvcyjXhke438XLwNFN3A_4_8"></a><a id="Tc_jQ7efuWC9ECI358SVVSx3Q_4_11"></a><a id="Tc_snLHbdtAGkuSORT1_XPEYg_5_2"></a><a id="Tc_JI2vGxYoF0O44ncKVJHTpw_5_5"></a><a id="Tc_uXuGgQDIaUSilHisndLuuQ_5_8"></a><a id="Tc_p03IDRD4tE6a5vqAjsgy4A_5_11"></a><a id="Tc_s8jsA9Y08ECbjQtR-q6hGg_6_0"></a><a id="Tc_VPo-4Tc9dkyAxgi7qIyYdA_7_0"></a><a id="Tc_6SI9vklTdkeARpw1EC1OXw_7_2"></a><a id="Tc_HJPAjecEnE61ijAJddtgLg_7_5"></a><a id="Tc_0bRGaoNickKOCJG6VgJmAw_7_8"></a><a id="Tc_BlAZCmfSu0uOnhdfNA6wFg_7_11"></a><a id="Tc_4qVm2EU9xk-klw2Wz4aLVA_8_0"></a><a id="Tc_ZqEYNRNgPkuFRnC6fxAnbw_8_9"></a><a id="Tc_oXDMB_mn8EOte-fnwg_c4Q_9_0"></a><a id="Tc_9Tzlqz8UsUy4v0-1V7XXBw_10_0"></a><a id="Tc_WHpQiaCl_k-G4zk8lAMfdA_10_9"></a><a id="Tc_u3pyMZJDeE-vNnGWq6LNQQ_10_12"></a><a id="Tc_V7lO1HxsRUet9_NZ0wE5mg_11_0"></a><a id="Tc_JPgRwTF4tkGsywCtueJbhw_12_0"></a><a id="Tc__SQzroVdWESIQAY5UKDAxg_12_2"></a><a id="Tc_Ky1E5VMwVkyfXM7y7MKhIA_12_5"></a><a id="Tc_woogaX1iT0mokzbsK_jk2g_12_8"></a><a id="Tc_C9uKtu2sX0yiFDbeYXaR_g_12_11"></a><a id="Tc_UMgE2emelUiPe0um1GfsbQ_14_0"></a><a id="Tc_Bd_mxa_ZzEejJaR9RXlALg_15_0"></a><a id="Tc_HS18W78-rkKsaW5-8Inulg_15_2"></a><a id="Tc_IYOdp4s14UCPkgg3EAnAFw_15_5"></a><a id="Tc_T3nRxZy1yUCBVxYkHy242w_15_8"></a><a id="Tc_TsO7OwgG5kaJC2pxp8b9vQ_15_11"></a><a id="Tc_9k7jZV5vwk-C8xiUPSuF5g_16_0"></a><a id="Tc_yFc14oO8IUmIQF4c0ZpZ0Q_16_6"></a><a id="Tc_N0_J36Q6nkun5RCg0vmUkw_17_0"></a><a id="Tc_hsZqiSCGl0qw4kNoS12kvw_17_2"></a><a id="Tc_v3a-Fllr5EO_diHe8KVtgg_17_5"></a><a id="Tc_dIcyDuRMy0GXmFqPqPRAag_17_8"></a><a id="Tc_xv89g2-G00uQIa5kifxgIQ_17_11"></a><a id="Tc_4n-QM-RMKkqBPeH731abYw_19_0"></a><a id="Tc_4d_ldXWFZUq-sfpTZbKvDg_19_2"></a><a id="Tc_yl5ZRsmHzUCTmmlNa7qzcQ_19_5"></a><a id="Tc_UD9NsXiEGU-aQ9ByLPdW2g_19_8"></a><a id="Tc_u48QzSObhUOkWtQHs7kCag_19_11"></a><a id="_5d081519_62f5_470f_b2c7_559edc50b0ff"></a><a id="Tc_Jm4SuM6VOE-bG6vsk1cp9g_1_2"></a><a id="Tc_Qm0PQeIm4U2T5HPOW9zzew_2_8"></a><a id="Tc_HH27FOOqHkSllR2x41Ev2Q_3_2"></a><a id="Tc_5lFg3_ibU06ABjkYRcJM_A_3_8"></a><a id="Tc_QIqrR7Q1FEWcJJ4oV8k3VQ_3_11"></a><a id="Tc_QwiUvedrPke9Jgkp7A-Bxg_4_2"></a><a id="Tc_lgABF-mMCUKmOIZ3MHAUSw_4_5"></a><a id="Tc_TKJrv2upSES-WL7oLjiAoQ_4_8"></a><a id="Tc_V6IOthJyCEq4HM-SZJifqg_4_11"></a><a id="Tc_6VQFPfrl8kqgYkPlk-O3eQ_5_2"></a><a id="Tc_CrKBoW8LNEaApls5OuQhXQ_5_5"></a><a id="Tc_LW_SFen74Uio9whfu03Jyw_5_8"></a><a id="Tc_HUUE9b4L70ykd26g_XdNgw_5_11"></a><a id="Tc_2jigvpwZZkW8zQ7i00Exuw_6_0"></a><a id="Tc_Zt31z70Vx0yf98ZlStVI4Q_7_0"></a><a id="Tc_Wnpgq0GA9ECfayOzpJBJOA_7_2"></a><a id="Tc__n-3nHcxMkmNhEvmYXxM0w_7_5"></a><a id="Tc_RyUdGAt16UaTPJ5iqTyU3Q_7_8"></a><a id="Tc_IP0vmENvT0KckKSSxov3Ew_7_11"></a><a id="Tc_I0W7I_c1xEi4Q51PBddKPQ_8_0"></a><a id="Tc_cStpemtmBkieMRJtnQlYUg_9_0"></a><a id="Tc_9EvZig8FF0WdjUBhduJupA_9_9"></a><a id="Tc_jZT0W7g88Ui7ERJzIAeW3A_10_0"></a><a id="Tc_ZOBnDyjbxUq2UUXirJul0Q_10_9"></a><a id="Tc_O0Y-40OVSU2Ms5fiJPEXCw_10_12"></a><a id="Tc_JygS03uCD0OWQPqIH_xQbg_11_0"></a><a id="Tc_cYQ5_HRwjk26mqgjBtJDXw_12_0"></a><a id="Tc_i3TIZoyRuEqo2govJaraEQ_12_2"></a><a id="Tc_6mHXKyCbAkaENK53djpo7w_12_5"></a><a id="Tc_2BqhA31HVE-bduxC3JZ77w_12_8"></a><a id="Tc_q6MqpXEfoUa_s-UEII81OQ_12_11"></a><a id="Tc_Ujc9TPaCo0CwPU16geDOqg_14_0"></a><a id="Tc_o6hBbaLUCEqIpQjHg1Gfhg_15_0"></a><a id="Tc_SYyLXR42WUOyBofwbNhwRQ_15_2"></a><a id="Tc_gcXtWtsjUUSK1PkebrULUA_15_5"></a><a id="Tc_wwSnnGu6LkWdOh7z-74mfg_15_8"></a><a id="Tc_66aK5wX30U-Y2ZOmUa9_mQ_15_11"></a><a id="Tc_ue0lAfTOWE6bc1a1P_XRTQ_16_0"></a><a id="Tc_IvUjJSuplk-rfOVsKmB-dw_16_6"></a><a id="Tc_cGYpyF4HDUGw2qfhkgU-OA_17_0"></a><a id="Tc_mAHCRbFgfk6zLXo81ZaWGw_17_2"></a><a id="Tc_sK87akz1LE2n6SCZdCC1mA_17_5"></a><a id="Tc_bqHyYw_EbkeXh_VCkQ4Bhw_17_8"></a><a id="Tc_zbUwvVcvwEaIw_wQsk1Ypg_17_11"></a><a id="Tc_DtnDOHPL30SXJ0BLEf76IQ_19_0"></a><a id="Tc_dhixkmK6b0urrsEXGqQT0Q_19_2"></a><a id="Tc_yWtEh-GvQ021d8Q2o92A0A_19_5"></a><a id="Tc_717nowPJn0mf8jYRGB3htg_19_8"></a><a id="Tc_dSQk8APPd0SuZtacqVPBhg_19_11"></a><ix:continuation id="Tb_U5YYL_PthEWJeNf5JM-Jlg_cont1" continuedAt="Tb_U5YYL_PthEWJeNf5JM-Jlg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Intangibles</i></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_uZ8mEapdc0--quVCtuJPCQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_I98lu4fiPUuCgjCnf_2E1w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_nusi2ZqJFECTmZqLTWFurA_7_3">2,881</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_I98lu4fiPUuCgjCnf_2E1w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_lQYn5pSOuk6lPoA1wt4nkw_7_6">2,760</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_I98lu4fiPUuCgjCnf_2E1w" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_khLGh2BfTkW7nnBXHtznWw_7_9">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_I98lu4fiPUuCgjCnf_2E1w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_HBB2AzDBkEK6CKX7lfgywQ_7_12">123</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_edbQgoD2jk2pbUBhLmcRzQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_1egAAQ4Dz0-iNtPaKJWC2g_8_3">1,965</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_edbQgoD2jk2pbUBhLmcRzQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_X-B-CZTrCEmi25Wait7NOA_8_6">1,747</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_edbQgoD2jk2pbUBhLmcRzQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_ebuNr61i1U-SgSBnT8YxsQ_8_12">218</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Inm_JZTvQUKTKWNZcTFT6g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_fbKJSMI_DEuJY3QrCN-vOg_9_3">840</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Inm_JZTvQUKTKWNZcTFT6g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_bG0BFDndD0O9DD8lXibXQw_9_6">813</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Inm_JZTvQUKTKWNZcTFT6g" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_Oc1nqhOo2EmwpaxUmAtjLA_9_9">1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Inm_JZTvQUKTKWNZcTFT6g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_ClFGTTgQDE280VOHk-3UjQ_9_12">28</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_4s5HmgMgYEq8UBs_f-11YA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_Pb9231OVGEWV_PLa3Qn9Ag_10_3">40</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_4s5HmgMgYEq8UBs_f-11YA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_3YZyWViWa0q1V8fL0cFo2Q_10_6">40</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_ClEEaT2vXkiVd9s-z1FvZA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_b6cks1z3gEa10bzePT29sg_11_3">3,528</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_ClEEaT2vXkiVd9s-z1FvZA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_quETFoN67EqwOwBskbxuuw_11_6">3,087</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_ClEEaT2vXkiVd9s-z1FvZA" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_DKTFQrCRnUeL9HfUI8c1eA_11_9">8</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_ClEEaT2vXkiVd9s-z1FvZA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc__5b7tnzA8EG0nYFQiy2MhA_11_12">449</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_PwQFvDsiHki9KysRe3q_sw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_uJBq5XS-UESafGZLKikhww_12_3">9,254</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_PwQFvDsiHki9KysRe3q_sw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_VWqMsFQnfUWxOGwZ7hJfCQ_12_6">8,447</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_PwQFvDsiHki9KysRe3q_sw" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_F-sVN_sPIU-64Q-L1jTYtg_12_9">11</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_PwQFvDsiHki9KysRe3q_sw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_l2bYastBmEWoccq-lXewrA_12_12">818</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_EAkSgFgenkub5esIsek8hA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_PJyMiUewaUCg6x3_ywyYwA_15_3">19,352</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_EAkSgFgenkub5esIsek8hA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_MvBf1tpaZ0aRNagvbKoufg_15_6">10,903</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_EAkSgFgenkub5esIsek8hA" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_Hze60nPyvUajnQEaQd27QQ_15_9">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_EAkSgFgenkub5esIsek8hA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_9S5dLDLh-UC03okuIrRy-A_15_12">8,448</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software - in Progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_EQos1vf9gUi6S-W8Uja-iA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc__gUjfaI_NUqXBBb3ZquRxg_16_3">4,302</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_EQos1vf9gUi6S-W8Uja-iA" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_plfSOGB_IkG4pmWs8gLD3g_16_9">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_EQos1vf9gUi6S-W8Uja-iA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_A__Ozb7Tkkad5cm42pdaRg_16_12">4,304</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AnSyWaLQeE2eD8zXTJfK9w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_OGIbUFF8B0--dw4kJ1bQKw_17_3">23,654</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AnSyWaLQeE2eD8zXTJfK9w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_jqAGkhX6AkaiQl8om7kNPQ_17_6">10,903</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AnSyWaLQeE2eD8zXTJfK9w" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_M1j8UADnKUOMuZtemIyk1Q_17_9">1</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AnSyWaLQeE2eD8zXTJfK9w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_PXeo7hUP7kyweTSHY5ttLQ_17_12">12,752</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_CPbce6dDrEKjeB4-sEkflg_19_3">32,908</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_w1T5aCI5i0C3eFr-q4zPLg_19_6">19,350</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_w3kQiQYl-kOb6RWdW6_RZg_19_9">12</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_-PwH1drTck6_jDrBcmHR_w_19_12">13,570</ix:nonFraction></b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_YpWN8nNRBUCEuAR9oiXXUg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_Wei1xMBFmUaaw1ha6R-kaQ_7_3">3,060</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_YpWN8nNRBUCEuAR9oiXXUg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc__fxEZZJTaE24GsU5K47yWg_7_6">2,911</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_YpWN8nNRBUCEuAR9oiXXUg" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_OCwFRfsnQ0axOi031vwG7g_7_9">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_YpWN8nNRBUCEuAR9oiXXUg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_OjYn1irdLUyZZkK6wNYVBg_7_12">146</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_6hHJI-p2m0S63_Ss129_xA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_5kvpbc5dPUSx7owbh-ohhQ_8_3">2,144</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_6hHJI-p2m0S63_Ss129_xA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_mDuSRiyYUkCVyrMhXvT7qQ_8_6">1,856</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_6hHJI-p2m0S63_Ss129_xA" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_42rMoEHF_EiAlHf1KCOlog_8_9">29</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_6hHJI-p2m0S63_Ss129_xA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_wkw1ZiAOV0-i3PtWg_UKuw_8_12">259</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_SSACz_5aHkmR2DIDxccdWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_zm1qyzqnR0utmyFgVlBU2A_9_3">862</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_SSACz_5aHkmR2DIDxccdWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_RmVY8ZRPqUKemrG8n4DYNg_9_6">826</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_SSACz_5aHkmR2DIDxccdWw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_5ObJv0uELEeGGqkPucIrfw_9_12">36</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember___24c9SG7Uu4Uj4I_J1iAw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_hpr5dwmtsE6EhZzFf2lCBg_10_3">44</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember___24c9SG7Uu4Uj4I_J1iAw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_09sco0TzS0WtShNbGZnKpA_10_6">44</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_-6yZvbbEVUO03PidsMC63g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_49YiQ7PHxEays9hDX-RgxA_11_3">3,546</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_-6yZvbbEVUO03PidsMC63g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_hKezj-ACE0SxhBSLif5ZmQ_11_6">3,016</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_-6yZvbbEVUO03PidsMC63g" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_YsX7EFbdWkq1YB6c7ET70g_11_9">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_-6yZvbbEVUO03PidsMC63g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_9EIniOVjlUW4OMFO4jvtig_11_12">529</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_unJySujcE0ex9cYJR_MnIw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_yThb-i1X1EqxH7tPV1Tr_w_12_3">9,656</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_unJySujcE0ex9cYJR_MnIw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_DrmhMp-MR0qR5tep9tNdzA_12_6">8,653</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_unJySujcE0ex9cYJR_MnIw" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_ZJQuSw1vzUKpwDtV0_gPSg_12_9">33</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_unJySujcE0ex9cYJR_MnIw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_qvoGwym0hUSMz_77SOiU8w_12_12">970</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_Wm4rirdCpEW0xnQP-o7riA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_254Av8eXDEWRlWExBBOCNQ_15_3">19,811</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_Wm4rirdCpEW0xnQP-o7riA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_m9gDc6H4Nkmssb6BA_ojUw_15_6">10,507</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_Wm4rirdCpEW0xnQP-o7riA" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_5pSU2XslCUmOPIpvNRBE3Q_15_9">463</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_Wm4rirdCpEW0xnQP-o7riA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_va-nBg9JHkCxUQK6Qr_J8w_15_12">8,841</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software - in Progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_Qym26Pzej0-yTZFovk6IZA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_Y33WWLlkbkCmrY4pGbv8KA_16_3">3,552</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_Qym26Pzej0-yTZFovk6IZA" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_ZbBLx9HZ9kiflVbGrvFsOg_16_9">10</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_Qym26Pzej0-yTZFovk6IZA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_-MqRc6BZlU2OwLKQGe9VXw_16_12">3,542</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_QQxu1NVi_kys0J__FM9jtQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_mClJaVUeS0a3BNiUQXTp5Q_17_3">23,363</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_QQxu1NVi_kys0J__FM9jtQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_TjYmEulc5U6O27XdFt4K3w_17_6">10,507</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_QQxu1NVi_kys0J__FM9jtQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_-7tnA6PXnkyOR_bUmx8Uug_17_9">473</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_QQxu1NVi_kys0J__FM9jtQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_-ick5nWGE0ah97dnVhEOFg_17_12">12,383</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_-Td3PsL5AUKVE8ad0Lh-DQ_19_3">33,019</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_xHeaMLzeN0iFGLjMbnnJ_w_19_6">19,160</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" sign="-" scale="3" id="Tc_GOebF17ILUSvmGoqbXexvg_19_9">506</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_4LssWfYRmkqmpG-Yf3auCA_19_12">13,353</ix:nonFraction></b></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to acquired intangible assets was $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_oNkb4kcUsUaGB5UhsldBpA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_2QDzd7vl80Kw2KZoWc44nQ"><ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_5JzMwQja-U-b4QAS5sy0Bw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_Hn0y4qqABEq7d0X0yX0eUQ">0.2</ix:nonFraction></ix:nonFraction> million for each of the three-month periods ended March 31, 2025 and 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to capitalized developed software was $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_vtqfuhmJb0WkU8RMWMcy3w" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr__DLOU8EzAku7_gdnwOZoPw">1.0</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_vVj8PSXUzki3_rVKLgs_mw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_oy9jGdndlEi4c4PoCMRK9A">0.7</ix:nonFraction> million for the three months ended March 31, 2025 and 2024, respectively.</p></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_cbe51fa5_a19b_4fd2_a331_7e995e1737d7"></a><a id="Tc_FJaykPjsbkmQiaodetbqOg_1_0"></a><a id="Tc_VGvptsp_fk2Ir3s2Qh82vA_1_2"></a><a id="Tc_yv_4b8iTKkqcLDoBht8rKw_2_0"></a><a id="Tc_cBdIiOxxukKny2HBPDqvXg_2_2"></a><a id="Tc_iKl_ai6jDkWHWa1Wuje_kw_3_0"></a><a id="Tc_8N5z0ceAg0Wn3xQM88dv7g_4_0"></a><a id="Tc_QXiMWoXkBUCy_hpA6TbiUg_5_0"></a><a id="Tc_LCQZ0hbez0GeC-nCwcf8xQ_6_0"></a><a id="Tc_rK1yej4olU2hhTq-QO7ESw_7_0"></a><a id="Tc_rrjxF1CITUiGkAVDYgaIjA_8_2"></a><ix:continuation id="Tb_U5YYL_PthEWJeNf5JM-Jlg_cont2"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="Tb_7BnpI0mSYUea3NZG53Q5sA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">As of March 31, 2025, estimated future amortization expense for intangible assets was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:22.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" scale="3" id="Tc_c44YpvuKkEGsTXL4AXIDkA_2_3">4,833</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="3" id="Tc_IBihWWMGJEexfk5s8zKTsw_3_3">4,629</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="3" id="Tc_2ZfDrI5YMEum-qsbPLPJLA_4_3">3,130</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="3" id="Tc_sAQIEvZEIECGTUcrZYEL3Q_5_3">774</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="3" id="Tc_S2sTfJAYl0WvqBRcs1TAYA_6_3">100</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:FiniteLivedIntangibleAssetExpectedAmortizationThereafter" scale="3" id="Tc_xftZrtRXGEu1hbpnOfeFYw_7_3">104</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_aGbYZ6x_ekufa8iL-ghlNg_8_3">13,570</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_s9KQIgKFKEOxLCWBQCm5Hw" continuedAt="Tb_s9KQIgKFKEOxLCWBQCm5Hw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">4.</b></span>Income Taxes</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">For the three months ended March 31, 2025, the Company recorded an income tax provision of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="6" id="Narr_iOk0JKjgVEySI8b3i6pNww">0.6</ix:nonFraction> million. The Company generated taxable income in the United States during the period; however, no U.S. federal tax expense was recognized as the taxable income was fully offset by the utilization of net operating loss carryforwards (&#8220;NOLCO&#8221;). The income tax provision recorded for the period primarily relates to utilization of U.S. deferred tax assets, State income tax provisions, the Company&#8217;s foreign subsidiaries income tax provisions in accordance with local tax regulations, the tax impact of Global Intangible Low-Taxed Income (&#8220;GILTI&#8221;) inclusions, offset in part by the release of the valuation allowance for the deferred tax assets of one of the Company&#8217;s Canadian subsidiary and reversal of uncertain tax positions under ASC 740. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The estimated annual effective tax rate applied to the three-month period ended March 31, 2025 differs from the U.S. federal statutory rate of <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_aKV6koS_uk2sJUzXSKcC0A" decimals="2" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" scale="-2" id="Narr_UY7YD2vGf0GLBBKc7oTE3w">21</ix:nonFraction>% principally due to the favorable effect of stock-based compensation, change in valuation allowance, and change in unrecognized tax benefits, offset in part by IRS section 162(m) adjustments, state income tax provisions, tax effect of foreign operations, and income earned outside the U.S. which is subject to the U.S. tax on global intangible low taxed income (&#8220;GILTI&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The estimated annual effective tax rate applied to the three-month period ended March 31, 2024, differs from the U.S. federal statutory rate of<span style="letter-spacing:-0.1pt;"> </span><span style="letter-spacing:-0.1pt;"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_VTwYOCchv0SSrkTqmFLNKw" decimals="2" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" scale="-2" id="Narr_fFe4t1kkDE-W7LoHxY5jBg">21</ix:nonFraction>%</span><span style="letter-spacing:-0.1pt;"> principally due to income earned outside the U.S. which is subject to the U.S. tax on global intangible low taxed income (&#8220;GILTI&#8221;), provision on uncertain tax positions, true up adjustment on prior year tax provision, and other net increases, offset in part by a reduction in the valuation allowance and foreign exchange gains and losses. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="letter-spacing:-0.1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="letter-spacing:-0.1pt;">During the first quarter of 2025, the Company determined it was more likely than not that one of the Company&#8217;s subsidiaries in Canada would be able to realize the benefit of the deferred tax assets in Canada, resulting in the release of the valuation allowance. In reaching this determination, the Company considered the growing trend of profitability over the last three years in the Canadian subsidiary, as well as expectations regarding the generation of future taxable income.</span></p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="Tc_aCJf85v0Qk2qeip1YMVZLw_1_2"></a><a id="Tc_dRnsoEsxOkCpdaTlNZntfQ_2_2"></a><a id="Tc_fdRe2RjBQk2Z8LV85tU7vg_3_2"></a><a id="Tc_pilUHyEsl02ObYxCVEi3pg_3_4"></a><a id="Tc_VemuruFWrUKKsBK7xWV-1Q_4_0"></a><a id="Tc_7_ht-FejcEuASW85gSvHgA_4_3"></a><a id="Tc_0Bk1ZV_TAESxqdIjXZ4ofQ_4_5"></a><a id="Tc_GQS2rfaKu0GZibYUTcd7Yg_5_0"></a><a id="Tc_Zea_ScowTkSOW_uNxruMjA_6_0"></a><a id="Tc_bQQtGz1_VUW1CzDySBlL0w_6_4"></a><a id="Tc_BDUejSq4RUaCWuqJ6fhOnw_7_0"></a><a id="Tc_AwY9fWdQU0qS7fcnYVlGrg_8_0"></a><a id="Tc_8mgieonvqkyRygEfJQcygg_9_0"></a><a id="Tc_02pWmWOR4UKbMmvu0qFn_A_10_0"></a><a id="Tc_7CdjLr3_X0GG-4rw2f-UzQ_11_0"></a><a id="Tc_PXrUNA0JaUKO0Ou-Wj-p4w_11_2"></a><a id="Tc_a7rGtzxf5UWRhmr2gyNMxw_12_0"></a><a id="Tc_vnj27F4QUEqEWdpmLoMjnw_12_2"></a><a id="Tc_6kRWXxTDM0aTClTuM7Qzfg_13_0"></a><a id="Tc_g2aZySpOcEi19Aj9pQKzDw_14_0"></a><a id="Tc_TJ9uKBpYykiyWvUAJi46wQ_15_0"></a><a id="Tc_92pKUlVDeE-bc4iqbqADAw_16_0"></a><a id="Tc_QIYBcWKC6EqDPgSRoZFaJQ_17_0"></a><a id="Tc_JTVDCulwFUGphf3JGRlcUA_18_0"></a><a id="Tc_Gr_qftqm3kqHeNgUecAsfA_19_0"></a><a id="Tc_zKaTbVeXx0uNpKJ0TujN_Q_19_3"></a><a id="Tc_7rsFK3kEakCNpKem079Alg_19_5"></a><a id="_c20b910d_88c5_4c3d_970f_ce82029254e7"></a><a id="Tc_VZuybeC_MUSqdZMCI2iVRQ_1_2"></a><a id="Tc_UJll3G_R5E2DCWhxzceIog_2_2"></a><a id="Tc_cPZz8DuM20SEgBpb9LXzGQ_3_0"></a><a id="Tc_8Vkke0Ia-kC86O6PIA_8rA_3_2"></a><a id="Tc_MVARSEIHZECu5smlWcjOHA_4_0"></a><a id="Tc_l2Yp1nA1EUGnNxtQ_e6O_A_5_0"></a><a id="Tc_8ByybGZNeUOVSWMRFK8x-Q_6_0"></a><a id="Tc_wIUcB7WQE0-e7z07jZYp1w_7_0"></a><a id="Tc_zwwTZFrRjEaAPKX109gDXg_8_0"></a><a id="Tc_XLagW0DSOUudimbbjxFz8Q_8_2"></a><ix:continuation id="Tb_s9KQIgKFKEOxLCWBQCm5Hw_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="letter-spacing:-0.1pt;">The reconciliations of the U.S. federal statutory rate with the Company&#8217;s effective tax rate for the three months ended March 31, 2025 and 2024, respectively, are summarized in the table below:</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Tb_od4gQo_n3U63d_hV4r0-kQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Ended March 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal income tax expense (benefit) at statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" scale="-2" id="Tc_CUzTXZNlnUaCanMhB2TPQA_4_2">21.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" scale="-2" id="Tc_7R_CyI2HCEKKS77gNnLbzg_4_4">21.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Section 162(m)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationSection162Percentage" scale="-2" id="Tc_ODNOFvp5bk6EixH_hw6iVg_6_2">28.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State income tax net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="Tc_6ms55vEmE0-CMslXe6IO0Q_7_2">2.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="Tc_knnhi9P5cEik7ynxR82axg_7_4">0.7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Tax effects of foreign operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" scale="-2" id="Tc_uUXHDA1NMkq2dfRZaZWsLA_8_2">1.2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" scale="-2" id="Tc_6SbIny2mekSlhFkejIlhFw_8_4">2.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">GILTI provisions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent" scale="-2" id="Tc_k59ATC6FS06zU1iYCyDfXA_9_2">1.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent" scale="-2" id="Tc_O0NdDN1XQ0Owtoy1cKTx2Q_9_4">11.8</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Withholding tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" scale="-2" id="Tc_ZG9SdeU2wEC6tJipyFG6pQ_10_2">0.3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" scale="-2" id="Tc_9daoBDLyfU2-YJNeSlHn-w_10_4">2.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Return to provision true up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" scale="-2" id="Tc_0GgOdo8JpE6Z2eh8um-68g_11_4">5.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign operations permanent differences - foreign exchange gains and losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" sign="-" scale="-2" id="Tc_dcMShkTShEm11byiI8IBaQ_12_4">7.9</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Deemed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" sign="-" scale="-2" id="Tc_kvULu2aMO0ykA0McfqsYOQ_13_2">0.3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" sign="-" scale="-2" id="Tc_flN0_js6ukeFyIeFz0VIHQ_13_4">2.7</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" sign="-" scale="-2" id="Tc_iW9TyjmXyEKXEPelto41uQ_14_2">0.5</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="Tc_mY2FMXy6ekOTavJMG4KSuA_14_4">0.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in unrecognized tax benefits (ASC 740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" sign="-" scale="-2" id="Tc_hz0j0sswo0Wje0sfle8LZA_15_2">1.5</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" scale="-2" id="Tc_uBoQvtYBWUSbL1ioXrb-AA_15_4">6.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_pJoJdeH8e0q8T0iPCXFKpg_16_2">3.3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_230fjCyfsEeR9zmxxOAR_g_16_4">10.4</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effect of stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" sign="-" scale="-2" id="Tc_yXrRmjnIb0SvGSpFk9DK4w_17_2">40.8</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" scale="-2" id="Tc_H-IfGoSMsEefDcRFWSUi5g_17_4">0.7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" sign="-" scale="-2" id="Tc_Qep2LiMOX0u071bL9M3Fhg_18_2">0.1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" scale="-2" id="Tc_mpu_tkz3zUGOX8EbggIhJg_18_4">0.7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_7eAbva7fVkmnMxKdlxf10g_19_2">7.3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_6kqO-P6kWEynQMFCR88vzA_19_4">30.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="Tb_w9v_QjaqXUqciuMM6IiPKA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents a roll-forward of the Company&#8217;s unrecognized tax benefits and associated interest for the three months ended March 31, 2025 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrecognized</b></p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Tax&#160;Benefits</b></p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_o2ENAYOHvki6-ydrK5LSxw_3_3">999</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increase for current period tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_gusi0w4daE6zU17ZEHAknw_4_3">76</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Decrease for prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_bd76rSTNuEWVkYLzHs0I9w_5_3">213</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest accrual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" scale="3" id="Tc__ZtQXa_UZ0aUd35zTcw4bg_6_3">10</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency remeasurement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" sign="-" scale="3" id="Tc_SpWzGl2DFkmNAQX6vHIHXA_7_3">4</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_hp822gnufUWFiIQf96PmNg_8_3">876</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;font-style:normal;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:LesseeOperatingLeasesTextBlock" id="Tb_iSeg7_xFK0WwYX7EYrrd2Q" continuedAt="Tb_iSeg7_xFK0WwYX7EYrrd2Q_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">5.</b></span>Operating Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company has various lease agreements for its offices and service delivery centers and has determined that the risks and benefits related to these leased properties are retained by the lessors. Accordingly, these are accounted for as operating leases. Lease agreements with a term of less than one year are treated as short-term leases and are accounted for separately as shown in the table below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:10pt;">Most of these lease agreements are renewable at the mutual consent of the parties to the contract. These lease agreements are for terms ranging from </span><span style="-sec-ix-hidden:Hidden_ol6FBvcQm0Of02gMMXTkIQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span><span style="font-size:10pt;"> to </span><ix:nonNumeric contextRef="As_Of_3_31_2025_srt_RangeAxis_srt_MaximumMember_BATJKTQ6aUiFvTz8_CCMwQ" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="Narr_cYssHF2yTEa4LB13AClP9w"><span style="font-size:10pt;">eleven years</span></ix:nonNumeric><span style="font-size:10pt;"> and, in most cases, provide for rent escalations ranging from </span><span style="font-size:10pt;"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_srt_RangeAxis_srt_MinimumMember_jSUqQw81akOpgyswCg4xAQ" decimals="4" format="ixt:num-dot-decimal" name="inod:PercentageOfRentalEscalations" scale="-2" id="Narr_p5ikbWr7D0GQdeR7NMDydA">1.75</ix:nonFraction>%</span><span style="font-size:10pt;"> to </span><span style="font-size:10pt;"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_srt_RangeAxis_srt_MaximumMember_eMrDlUeBLU6-JlEWAAwVVA" decimals="2" format="ixt:num-dot-decimal" name="inod:PercentageOfRentalEscalations" scale="-2" id="Narr_dND3Mbdezk2WY__Q_ojXeg">15</ix:nonFraction>%</span><span style="font-size:10pt;">.</span></p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_583b1b21_90e4_4a7f_a9f9_44a788915b35"></a><a id="Tc_0vKWFIeAGEy1WNosClbD8Q_1_2"></a><a id="Tc_CSSjysEE2kCCgnM9e722nA_2_2"></a><a id="Tc_KU0E3nWwUkyWMZRatSqcig_3_2"></a><a id="Tc_DLtx_AIBk0uF9Gbuby9gMA_3_5"></a><a id="Tc_bPuh1aqwMEmKg7hWmKcDMw_4_0"></a><a id="Tc_DZvNc_m070yZfBrTARvjFw_4_2"></a><a id="Tc_1H7agdJqZ0iv_qYLzmEiGQ_4_5"></a><a id="Tc_kh_3fhBuM0yzdxKbOFZyjg_5_0"></a><a id="Tc_qK4uGm4nV0-cm81NziLhZw_6_0"></a><a id="Tc_groNAODfZEq2hjR1wFhH1w_6_2"></a><a id="Tc_YuG354QtMk2T8l-MLzR5-A_6_5"></a><a id="_5e1fe25d_28ba_4003_bea7_372787848aae"></a><a id="Tc_o2Y-Cs6my0KWnbHpUlwhvg_1_0"></a><a id="Tc_lydTmnSlvEe3VWK0mO7nDQ_1_2"></a><a id="Tc_QMBEuxHobkO-uw2VlDQGCA_2_0"></a><a id="Tc_PoI7AS49BUWGViJvpvTQ7g_2_2"></a><a id="Tc_iak4hOcIO0qSPmqceiVnXQ_3_0"></a><a id="Tc_iehgygx-rUeKuriivEmYxQ_4_0"></a><a id="Tc_AMOhIY57sUCMgBgxIqwr3Q_5_0"></a><a id="Tc_BCmFuSFKd0Sl85_lQes_ug_6_0"></a><a id="Tc_FpUiWS4Qx0CC6AmFinLPXg_7_0"></a><a id="Tc_W47LUjajCky3Zp0WqUrgaQ_8_0"></a><a id="Tc_W4_BvmOtSEqlXrA_6aEa6w_9_0"></a><a id="Tc_Sttsd6xRp0KpQWECqeOkhw_10_0"></a><a id="Tc_jA3mM7pDrUqjIawLzfnFgg_10_2"></a><a id="Tc_T4DvGkL-8kuNAQgKI4b3Tw_12_0"></a><a id="Tc_0pXpad-TZ0aUQ-QXf8-Peg_12_2"></a><a id="Tc_3U3RmgTWcU200cU4v_FSEA_13_0"></a><a id="Tc_aOtQPNtnd0q8ysB8CD2Wmg_14_0"></a><a id="Tc_t7wU0xedukWww7gipC-9Ag_14_2"></a><a id="_e82caebb_076c_4ec4_8e06_54f98d99e5b3"></a><a id="Tc__HCRfWnxb0eZqq1yzOVs-A_1_0"></a><a id="Tc_FWCxSVFw3Eyppom4yZwO8Q_2_0"></a><a id="Tc_Kh_cDPn4Y0uRqpKsb5loHA_2_3"></a><ix:continuation id="Tb_iSeg7_xFK0WwYX7EYrrd2Q_cont1"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" id="Tb_d2sytKfZGEaghDMxqvwigQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below summarizes the amounts recognized in the condensed consolidated financial statements related to operating leases for the periods presented (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Rent expense for long-term operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_9fv835svd0iMNspGX0R6kg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_IyvGh3GHO0eCD_NnbkGWpA_4_3">314</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_jrqcMfi0dECFZnexwnh5Eg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_yy0GBWvK8UO6GRk8lIEGzA_4_6">314</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Rent expense for short-term leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_yl1m9SQm-EmaTphTnR0sWA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_nvoAMgmz8kajw2gilPPoKA_5_3">42</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_QWVB5gOgqUihASCv4NIa9w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_62Xoipw_X0WxWYHmzwb5RQ_5_6">47</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Total rent expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_Rj1VgGI6akGdrRcoxuOI8A_6_3">356</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_Wr_VAOCGA0C7dQPlm1hfMg_6_6">361</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Tb_vK5oStBHjUejFJpvKum2xA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the maturity profile of the Company&#8217;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the condensed consolidated balance sheet as of March 31, 2025 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" scale="3" id="Tc_SHiY1jAY5k6x7dPXxjHtGA_2_3">977</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_9DSlZ5UYA0GpdMxpxLwPVQ_3_3">1,331</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_yoT0sLgNwkCEmhGU1F3Rnw_4_3">1,327</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_sNmf72wNWUWFuOuRdX-QPA_5_3">957</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_FBou4czWkkGq_saQihszfg_6_3">695</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2030 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:LesseeOperatingLeaseLiabilityToBePaidThereafter" scale="3" id="Tc_eCAhp2t1UkucjLYnPzPgYQ_7_3">177</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="Tc_vV_8r8e_UUehM1-qGXIj5w_8_3">5,464</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Less: Interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_sXkJEIy6dkaN5xmzKTQLmA_9_3">1,018</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_Vq6rSREKjkSBireE1u4JGQ_10_3">4,446</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_xFh8KjsyTUqoi-FF9dY2hg_12_3">904</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Long-term portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_0WPtTcXHMke3D0zpfFvSrw_13_3">3,542</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_jepbD1K-R0CeyNNCaA0LQw_14_3">4,446</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" id="Tb_22Qjn_ZhMECx4XJysJFNNw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The weighted average remaining lease terms and discount rates for all of the Company&#8217;s operating leases as of March 31, 2025 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Weighted-average lease term remaining </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" format="ixt-sec:durwordsen" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_l6RR2YP1CkmVid9mqQtGZQ_1_2"><span style="font-size:10pt;">48 months</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_5N2Ikd77Q0m3GcKfr_fPOQ_2_2">9.39</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_510d1b0a_8190_42b4_ba6b_1b91cf254d79"></a><a id="Tc_z2Zlne6SXEyXym_lAYEfSA_1_2"></a><a id="Tc_-tO9Ws2Jcka7z8juY9m7uA_1_5"></a><a id="Tc_Y8SgSt1ghUKytaL2ADsowg_2_2"></a><a id="Tc_U-usNzFJu0WJJAA7ZZNVcg_2_5"></a><a id="Tc_fkW2Y9M0f0mCnBNGVlyd6w_3_0"></a><a id="Tc_25t2zHpAI0Cw1zHCnOy7Nw_3_2"></a><a id="Tc_ZG8OMG5xpUySPpVJyNnc3g_3_5"></a><a id="Tc_IOgCUbdECUq2r9hHl7TQLQ_4_0"></a><a id="Tc_gfU22SpYtEqIRxcAB8PDag_6_0"></a><a id="Tc_zp1Fid4MzUKOREgNZp1-kA_7_0"></a><a id="Tc_WHUheuZk9E2-wJdisIhfCg_7_2"></a><a id="Tc_zv2w9IU4t0WgzhGDtp_0Iw_7_5"></a><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="inod:LongTermObligationsDisclosureTextBlock" id="Tb_E2uyhrkYLk-vt2CkW8zuow" continuedAt="Tb_E2uyhrkYLk-vt2CkW8zuow_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">6.</b></span>Long-term obligations</p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="inod:LongTermObligationsDisclosureTableTextBlock" id="Tb_Xa_048ThOkWjz1m56XYDJQ" continuedAt="Tb_Xa_048ThOkWjz1m56XYDJQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Total long-term obligations as of March 31, 2025 and December 31, 2024 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pension obligations&#160;- accrued pension liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent" scale="3" id="Tc_jmGpe3ejPEedBFG-NENU5w_3_3">8,277</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent" scale="3" id="Tc_HCWPQwyfpkCtrPuQ6u6k2Q_3_6">7,945</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Microsoft licenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:MicrosoftLicensesObligations" scale="3" id="Tc_HmZRdik3_UuetJQ-erKDEw_4_3">324</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="inod:MicrosoftLicensesObligations" scale="3" id="Tc_HazuH0VZRUyrkmN2heJ3lQ_4_6">442</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalLongTermObligations" scale="3" id="Tc_QildNhCmFkCr473UA5ZYXA_5_3">8,601</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalLongTermObligations" scale="3" id="Tc_aUPmm1IwDUmyqKQBotU64Q_5_6">8,387</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_yaf5HoKRhEuyG2gYQLRfhw_6_3">1,505</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_-y43V82pz0-betdXZL0foQ_6_6">1,643</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Non-Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_hjUkiX7iak-HUVYWVL_b5A_7_3">7,096</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_qx424kWPREiFMu0E99T4OQ_7_6">6,744</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup>&#160;In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-5" format="ixt:num-dot-decimal" name="inod:LicensesObligationsAmountPayableAnnually" scale="6" id="Narr_FniBtEDKE0-GvjMuTNauSA">0.4</ix:nonFraction> million annually over the term of the agreement.</p></ix:nonNumeric></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><ix:continuation id="Tb_E2uyhrkYLk-vt2CkW8zuow_cont1"><ix:continuation id="Tb_Xa_048ThOkWjz1m56XYDJQ_cont1"></ix:continuation></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_SfG7mNrNFka333eHfm21gA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">7.</b></span>Commitments and Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-size:10pt;font-weight:bold;">Litigation&#160;&#8211; </b><span style="font-size:10pt;">In 2008, a judgment was rendered in the Philippines against a Philippine subsidiary of the Company that is no longer active and purportedly also against Innodata&#160;Inc., in favor of certain former employees of the Philippine subsidiary. The potential payment amount aggregates to approximately </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:LitigationReserve" scale="6" id="Narr_M1uhkFSpRkiqG1VtbbDizw">5.7</ix:nonFraction></span><span style="font-size:10pt;"> million, </span><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="inod:InterestRateDescriptionLitigation" id="Narr_VxgU4wrorE28fP_wUSd_dw"><span style="font-size:10pt;">plus legal interest that accrued at 12% per annum from August&#160;13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum</span></ix:nonNumeric><span style="font-size:10pt;">. The potential payment amount as expressed in U.S. dollars varies with the Philippine peso to U.S. dollar exchange rate. In December&#160;2017, a group of 97 of the former employees of the Philippine subsidiary indicated that they proposed to record the judgment as to themselves in New Jersey. In January&#160;2018, in response to an action initiated by Innodata&#160;Inc., the United States District Court for the District of New Jersey (&#8220;USDC&#8221;) entered a preliminary injunction that enjoins these former employees from pursuing or seeking recognition or enforcement of the judgment against Innodata&#160;Inc. in the United States during the pendency of the action and until further order of the USDC. In June&#160;2018, the USDC entered a consent order administratively closing the action subject to return of the action to the active docket upon the written request of Innodata&#160;Inc. or the former employees, with the USDC retaining jurisdiction over the matter and the preliminary injunction remaining in full force and effect.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In February 2024, David D&#8217;Agostino filed a putative class action captioned D&#8217;Agostino v. Innodata Inc., et al., in the United States District Court for the District of New Jersey against the Company and certain of its current and former officers (the &#8220;Securities Class Action&#8221;). In October 2024, the presiding judge in the Securities Class Action appointed a lead plaintiff and approved the lead plaintiff&#8217;s choice of counsel. The Securities Class Action complaint, as amended, asserts claims under Sections 10(b) and 20(a) of the Securities Exchange Act of 1934, as amended, and Rule 10b-5 promulgated thereunder, and it alleges, among other things, that the defendants made false and misleading statements regarding the Company&#8217;s artificial intelligence (&#8220;AI&#8221;) technology and services. The plaintiff seeks unspecified damages, fees, interest, and costs. The Company intends to defend itself vigorously, but the Company cannot predict the outcome of the action at this time and can give no assurance that the asserted claims will not have a material adverse effect on its financial position or results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Subsequently, in March 2024, the Company received a letter from the staff of the SEC, requesting the Company preserve certain documents and data; in August 2024 the Company received a grand jury subpoena from the U.S. Department of Justice (&#8220;DOJ&#8221;) requesting the Company to produce certain documents; and in September 2024 the Company received a subpoena from the SEC requesting certain information. The Company believes that the SEC and DOJ requests are related to the conduct alleged in the Securities Class Action, and is cooperating with these investigations. The Company is unable to predict when these matters will be resolved or what further action, if any, the SEC or DOJ may take in connection with it.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also subject to various other legal proceedings and claims that have arisen in the ordinary course of business. While the Company believes that it has adequate reserves for those losses that it believes are probable and can be reasonably estimated, the ultimate results of legal proceedings and claims cannot be predicted with certainty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">While management currently believes that the ultimate outcome of these proceedings will not have a material adverse effect on the Company&#8217;s consolidated financial position or overall trends in consolidated results of operations, litigation is subject to inherent uncertainties. Substantial recovery against the Company in the above-referenced Philippine action could have a material adverse impact on the Company, and unfavorable rulings or recoveries in the other proceedings could have a material adverse impact on the consolidated operating results in the period in which the ruling or recovery occurs. In addition, the Company&#8217;s estimate of the potential impact on the Company&#8217;s consolidated financial position or overall consolidated results of operations for the above referenced legal proceedings could change in the future. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The Company&#8217;s legal accruals related to legal proceedings and claims are based on the Company&#8217;s determination of whether or not a loss is probable. The Company reviews outstanding proceedings and claims with external counsel to assess probability and estimates of loss. The accruals are adjusted if necessary. While the Company intends to defend these matters vigorously, adverse outcomes that it estimates could reach approximately $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyAccrualAtCarryingValue" scale="0" id="Narr_YRaq0ldPUE2x3itTBHMvlA">450,000</ix:nonFraction> in the aggregate beyond recorded amounts are reasonably possible. If circumstances change, the Company may be required to record adjustments that could be material to its reported consolidated financial condition and results of operations.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_e8d6c88f_f067_408a_a018_d0c057f69661"></a><a id="Tc_J-qSxJPlB0Ou62hgdFov0w_1_2"></a><a id="Tc_RDG7Mv5u4kGOx6JHbZxIlQ_2_2"></a><a id="Tc_Xa3f-AURqUqPf0t9EaX1kg_3_2"></a><a id="Tc_oQI18xKHDE2VsJD2_8khKA_3_5"></a><a id="Tc_GP5QH4dFbUOef8zMI9sjfg_4_0"></a><a id="Tc_Ix5TUkcM5kuILEMCg7urNw_4_2"></a><a id="Tc_q_yvm1qkpU6xAaXGyFxt9Q_4_5"></a><a id="Tc_mAGs4VsujEKoDwvqB8CHdA_5_0"></a><a id="Tc_0c5ViTCJrUSlpO6eja1F2A_6_0"></a><a id="Tc_IMeGEOI_LkypnU8--Ik3CA_6_2"></a><a id="Tc_Ct1JXrq8Jk6gJPBI0b0aWw_6_5"></a><a id="_4b6eb326_f37f_4c3a_8d2b_14c6f85dbb27"></a><a id="Tc_RxBOj2TtFEuXqMFy4fWyjw_1_7"></a><a id="Tc_x3P8mG3rUEiyVoeQoJFyWg_2_2"></a><a id="Tc_AOM29iSJFUGnUWX8dkA1RQ_2_4"></a><a id="Tc_l0Dr2lWEkE6k1PcLkMLqYg_2_7"></a><a id="Tc_82mKZA19wEGjpGcTZmcSeQ_2_9"></a><a id="Tc_w-iobOruM0CMDv4riIoEdA_3_2"></a><a id="Tc_khtDh8Ysx0S9mSHybCD-Fw_3_4"></a><a id="Tc_G17ITMncp0yppWtON5DAGw_3_7"></a><a id="Tc_ic3hj1S6PkGyAG5Y97WVkg_3_9"></a><a id="Tc_6I4njqAyuE25zcDReFJg4A_4_0"></a><a id="Tc_xvhGv-1jr0iYQ4KhzKf7rg_4_4"></a><a id="Tc_G6U3qxxTrUa_ttNQdb39hg_4_9"></a><a id="Tc_IUmd0KbaWUGit4X8WZ2-SQ_5_0"></a><a id="Tc_pCAWp2MTFE-_-C6mtfhR3w_5_2"></a><a id="Tc_0Pne7ZcxdkO4ctXFLg5ctA_5_5"></a><a id="Tc_WbZb8_EGS0aPkZ5-QkwqQQ_5_7"></a><a id="Tc__2A6jPl7_k6evIhkwAb06Q_5_10"></a><a id="Tc_wzUKhZOUfUKWp9Ie2Bsd1Q_6_0"></a><a id="Tc_p4WGqnI5bUOpVnXmfwq1dw_6_7"></a><a id="Tc_2WuJVM6q40SA0dHcxNMl0g_6_10"></a><a id="Tc_SrGoMhe_vUq4rtJnVbnXfg_7_0"></a><a id="Tc_YxvcYOg65kSao2xVlf6H1w_7_2"></a><a id="Tc_BfTeqMF8F0eAO1RgF7qFWA_7_5"></a><a id="Tc_7yTVZIDR60aT6fBRGREAuw_7_7"></a><a id="Tc_7RDqHbFHHE6ZQTgWxh8xsw_7_10"></a><a id="Tc_HixeY3_Ia0K3wifp36pFMQ_8_0"></a><a id="Tc_RzyB3_oXx0aLVyj3RazTJA_8_4"></a><a id="Tc_eXxI_kEoP0CVHB6gjH2lYA_8_9"></a><a id="Tc_u_7IL8IZXU2O-TKiAJ2TXQ_10_0"></a><a id="Tc_D9Rfh31J6UywYYiz9dzRXw_10_4"></a><a id="Tc_mUp4_BQq_k28mZTJFKBLJA_10_9"></a><a id="Tc_8HG_8sA72kWdev3qN4Of9Q_12_0"></a><a id="Tc_RN7xcLtAjki0LTFIq02FGQ_12_4"></a><a id="Tc_eEN9dM8PbECmNTLv0q90yg_12_9"></a><a id="_b683df92_5057_48c3_8829_3cecd1b916b0"></a><a id="Tc_jIcyF8lppEWnNjw1LIh2ng_1_7"></a><a id="Tc_o0kJfyWI_kSAU5mFVfITFQ_2_2"></a><a id="Tc_kzNLHBUhpkWu7bFTbEr2Hg_2_4"></a><a id="Tc_kR-HMKm_oEuLsq6Ah-Ak0w_2_7"></a><a id="Tc_AlR0489fuUORFdk3Na_WZA_2_9"></a><a id="Tc_fcsepvbrvkqBgA-_vyESxw_3_2"></a><a id="Tc_TnSHmlELzku0JnAFr-_cdg_3_4"></a><a id="Tc_9BHZtsXmtkiXVudsJ826xg_3_7"></a><a id="Tc_eOnzNCgqm0GnYin93rz3QQ_3_9"></a><a id="Tc_SJHqnt_sKUu0KYOTACXLDg_4_0"></a><a id="Tc_IUUFXJp5qkOlnQ3ZTfRIEA_4_4"></a><a id="Tc_US7EXjde9EuTjBve_b_s_w_4_9"></a><a id="Tc_QhgbqfPidU-XR0OnV-jDmQ_5_0"></a><a id="Tc_gOICPlfsGEqxifGfVZUd5A_5_2"></a><a id="Tc_0JWjQHxXK0e35gAz1lEwOA_5_5"></a><a id="Tc_MUlhhfeNr0Wx-IRsA53Zog_5_7"></a><a id="Tc_tcFpbnZ9lEGPMBC1-_kvbw_5_10"></a><a id="Tc_hrlmTGk20kGR4aGeSekGEA_6_0"></a><a id="Tc_RJKgdzlbq0-FF5X5u8Hq6Q_6_2"></a><a id="Tc_CxvwWBv870Ocfnn7nNsxcg_6_5"></a><a id="Tc_kha2i5lxd0uanY_H5YqqfA_6_7"></a><a id="Tc_d6FfsBc060-eszkTJbcxXA_6_10"></a><a id="Tc__UugeoDtLU6Caj8fXISjgg_7_0"></a><a id="Tc_M9oR-uB_2kStgMBymGET0w_7_7"></a><a id="Tc_8x5g_K9hr0STw4cAK_rL0g_7_10"></a><a id="Tc_2s_hNqn7I0WsKD1ucf3B3Q_8_0"></a><a id="Tc_XwKUP72cO02Rd-DTafoZ6Q_8_4"></a><a id="Tc_mI4U8svFm0SzanvIspz2lw_8_9"></a><a id="Tc_PkNJ9OsuZk-w2_E--98wXA_10_0"></a><a id="Tc_WlLUFlwadU-MqJXFxpRsOw_10_4"></a><a id="Tc_amrw9XvaHEO5UoSGsdlPiA_10_9"></a><a id="Tc_wMu8l-xfjE6mBZf-DqlrOw_12_0"></a><a id="Tc_S8Cw8PV4H0ySXMkuwECiCQ_12_4"></a><a id="Tc_RZZWtuyi-E2ClbHW9ntS6A_12_9"></a><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_kIlNruLc40yuY0-plosTGg" continuedAt="Tb_kIlNruLc40yuY0-plosTGg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">8.</b></span>Stock Options and Restricted Stock Units</p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" id="Tb_bY28emw11EGMeKeukIXCRA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The stock-based compensation expense related to the Innodata Inc. 2013 Stock Plan, as amended and restated effective June 7, 2016 (the &#8220;2013 Plan&#8221;) and the Innodata Inc. 2021 Equity Compensation Plan, as amended and restated effective as of April 11, 2022 (the &#8220;2021 Plan&#8221;, and together with the 2013 Plan, collectively, the &#8220;Equity Plans&#8221;) were allocated as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PlanNameAxis_inod_EquityPlansMember_HLf59OwIRUiW6gA59Y5L3A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockOptionPlanExpense" scale="3" id="Tc_X2KHAFJk7UaABInG73PY5w_4_3">427</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_b0ZPAnCgukCydAVzuuvvCA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockOptionPlanExpense" scale="3" id="Tc_x5qslFnGtkS-sRf-vblwCQ_4_6">84</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PlanNameAxis_inod_EquityPlansMember_HLf59OwIRUiW6gA59Y5L3A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherSellingGeneralAndAdministrativeExpense" scale="3" id="Tc_8LF7GxsCIUyDim31gv1Kcw_5_3">2,454</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_b0ZPAnCgukCydAVzuuvvCA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherSellingGeneralAndAdministrativeExpense" scale="3" id="Tc_vM59_qfDCUywOmuzPQ-mzA_5_6">950</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PlanNameAxis_inod_EquityPlansMember_HLf59OwIRUiW6gA59Y5L3A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_PSo8-nAs_k-aHaF77Qpmmw_6_3">2,881</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_b0ZPAnCgukCydAVzuuvvCA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_4lm2a8gGlE6i49jbu_rluw_6_6">1,034</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Stock Options </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PlanNameAxis_inod_EquityPlansMember_HLf59OwIRUiW6gA59Y5L3A" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="Tb_OSA0ltYunkCNhC8y3wuCaA" continuedAt="Tb_OSA0ltYunkCNhC8y3wuCaA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">2013 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the 2013 Plan and changes during each of the three-month periods ended March 31, 2025 and 2024 are presented below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted - Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining Contractual </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate </b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_UtrdWJFN3U2_nFDsOLQH0w" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_iPLQ0QAwRESwoO6t3CZmUg_4_2">3,165,193</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_UtrdWJFN3U2_nFDsOLQH0w" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_j85D5T63bEycKEbKjL1Isw_4_5">3.67</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_DUInGlRU8k6MseCGC2PXKw" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_OvBkLpw-H0S-2_6TH_7ZQQ_4_7"><span style="font-size:10pt;"> 6.32</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_UtrdWJFN3U2_nFDsOLQH0w" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_HWfgmdE_mEq6fgehPyLHkg_4_10">113,458,326</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_Wj8QBK8arUaxruNmNW-u7g_6_2">188,150</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_1hsJag8QnUyLw2QvwyJABg_6_5">3.74</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_kMK9KDef2kuIrOPTcagd5A_8_2">2,977,043</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_vtSn782eyE-cD7sE_aULLg_8_5">3.67</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_Qk1u_dDYnk6HzArMShYI3Q_8_7"><span style="font-size:10pt;"> 6.11</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_3Lcn730svUG1A7rHVUD1fQ_8_10">95,948,739</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" id="Tc_6sGRyN94tEqJIypywvlJEw_10_2">2,878,708</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc__k31M_WEM0e_8tLcDUDP4g_10_5">3.68</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_SXTLuQo2ckyu3qcWtTgq9w_10_7"><span style="font-size:10pt;"> 6.06</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" id="Tc_RSE--YT8yUuDz1lHyXJUZQ_10_10">92,753,835</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" id="Tc_28_70OzLLEOLLluqF2smEw_12_2">2,977,043</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_WFBfZ1qH302Bogp_0jnjIQ_12_5">3.67</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Tc_1TzJhFLyIEmBO2nnJB7Tag_12_7"><span style="font-size:10pt;"> 6.11</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" id="Tc_a1G_me6qXkePccQXFom_uQ_12_10">95,948,739</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted - Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining&#160;Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_GORkeIfGOUCJSIYoAYRabw" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_kT6wTND9402p7Z3ZAjFT1g_4_2">5,339,162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_GORkeIfGOUCJSIYoAYRabw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_13vsptO6gU-y-i1qTOM_Kg_4_5">3.22</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_NnfpC-M2tU-9Z9_ESm_5jQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_hjVMKkRjcUSQ4XfWDIDk7w_4_7"><span style="font-size:10pt;"> 6.38</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_GORkeIfGOUCJSIYoAYRabw" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_yZdZhiFYhUST7qOLSjzAUg_4_10">28,640,009</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_y2E_0j0v3UaOIvlfyc-jYA_7_2">2,334</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_fnyZqo8JHUi7LKIvjKUcSA_7_5">6.96</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_A5d8YZuy4kWmu9n7YaWSUw_8_2">5,336,828</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_NfsIFawwfES5bP7C4wY4Aw_8_5">3.21</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_SPgnJ1MmwkKkS9RzvKUHqQ_8_7"><span style="font-size:10pt;"> 6.13</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_9M4J8cn9IE6wcrbfQ2nyTg_8_10">18,364,840</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" id="Tc_V7zPspej9UmOvHIF5iUlJg_10_2">3,552,030</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_IPDCinR1NEGFR0EU3_2Fdw_10_5">2.28</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_WGDlQnkOO0C08S8E2-cM5w_10_7"><span style="font-size:10pt;"> 5.22</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" id="Tc_UeMi4HQNEE-jFBcWokN_2A_10_10">15,528,015</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" id="Tc_gWMiaM23QkWJeCeOk4P0nw_12_2">5,336,828</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_d_r9HFaxekiLtkCxQDxJcQ_12_5">3.21</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Tc_DitG4Th_cUWZJ6VjjeBmXQ_12_7"><span style="font-size:10pt;"> 6.13</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" id="Tc_Jd-xqoBf_0Wz9b5sCAKh6Q_12_10">18,364,840</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-size:10pt;font-style:italic;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_7cc87138_e1a2_4af7_ab0d_36c589f3bd3c"></a><a id="Tc_I19hSuyC3kSdy8AzbI73ZA_1_7"></a><a id="Tc__r__DlYyIUCE6U-a6dix1w_2_2"></a><a id="Tc_RZ-WGa7ek0mVgxqOKKDy5g_2_4"></a><a id="Tc_RGA2apdhg0q_AupyFKcNsQ_2_7"></a><a id="Tc_uiHKC4BuFUWK-f2Woafu6w_2_9"></a><a id="Tc_nSH5ybAl8EqQ6DN8bmUg4Q_3_2"></a><a id="Tc_y4wuXGmIO0-BtfgrgMeRxA_3_4"></a><a id="Tc_JzIMBfHzGkyNyqJXM_wtSA_3_7"></a><a id="Tc_IGC9D9_0wEKXBpNewlB4gQ_3_9"></a><a id="Tc_gqAqPKCpS0mG_WvRvZ6Qkw_4_0"></a><a id="Tc_59E3GlK9dkGjrqeshB0A7A_4_4"></a><a id="Tc_pDJ7_bhMG0CBjdIe8T4HUA_4_9"></a><a id="Tc_Bp8dce3qUUeIK651CR-rZw_5_0"></a><a id="Tc_FPscOX6wnE-Y_S7HhYp4Lg_5_2"></a><a id="Tc_GSZROlF-T0ucLk0KatJjCA_5_5"></a><a id="Tc_rA1t0NAiKEiqZTR_hAU1Mw_5_7"></a><a id="Tc_5N1tQJLqFk2AJ1VcnLC8cQ_5_10"></a><a id="Tc_VQl8CfCDlU2xsX3tpPUcrg_6_0"></a><a id="Tc_QXhYjCjeJUyDtY6c08oF7g_6_7"></a><a id="Tc__aNnk-xTkkGFXud82is5nA_6_10"></a><a id="Tc_YNLts6KfZUC0NHAIZ71qlg_7_0"></a><a id="Tc_9ptgdAuZlkGXUVoZLdH87g_7_7"></a><a id="Tc_fYRBE1dCOU6LVP40LD5ueg_7_10"></a><a id="Tc_P6Sq10CwtkKl3y8RjKRYxg_8_0"></a><a id="Tc_UdU-T4bOp0CcC-M4RdFrfw_8_4"></a><a id="Tc_Uu0eXqlbAkaG34mxrztAZA_8_9"></a><a id="Tc_TV7clmCGREG3u9xKqbw4BQ_10_0"></a><a id="Tc_54QVeDR9Lku8WHU0rSJT7w_10_4"></a><a id="Tc_4WUc4DLCeEKDckP-rTalrg_10_9"></a><a id="Tc_E18Ptu2UaEKs1iDIIYaUpQ_12_0"></a><a id="Tc_ZyezV048Wk2gim6xOvu_sA_12_4"></a><a id="Tc_av1TNUFgkUi4rTlkvct9aw_12_9"></a><a id="_a2994bb9_7370_491c_b20a_0854feffc940"></a><a id="Tc_5GQMLlNQHkuJ3HwE2vVBEg_1_7"></a><a id="Tc_KsgKf4Rzd02eDWxDJghbjA_2_2"></a><a id="Tc_LUA4srefBUaPSqUlRALN-w_2_4"></a><a id="Tc_0_yO0uPlRkWms2MR5pSlsw_2_7"></a><a id="Tc_R0AW0mPqmUeGuS5NdGZSgA_2_9"></a><a id="Tc_ngWnskuZsUaNwuxres3CEQ_3_2"></a><a id="Tc_L9OIj0LRQ0qfFV082LBahg_3_4"></a><a id="Tc_1voPlpzC9UCXlhQN98JH8Q_3_7"></a><a id="Tc_P9sk_rjEr0qWv87e8pkb-g_3_9"></a><a id="Tc_wttOG_w560Wg-LE6Yab93g_4_0"></a><a id="Tc_sQLE84jSuU--nUKnYJS-Lw_4_4"></a><a id="Tc_UauqILpj7E2pBF6TPaXUAg_4_9"></a><a id="Tc_B9t2U5nfQ02dCgh9SvKGhA_5_0"></a><a id="Tc_ebBooTAUJ02OAHTP_yzF3A_5_2"></a><a id="Tc_cnC41wWhe0O6Tctc50Fmbg_5_5"></a><a id="Tc_rI4SoCN6N0unC7lkowTm1A_5_7"></a><a id="Tc_CHikabF_5UKscGn-H-xeYQ_5_10"></a><a id="Tc_Yj6Q-qKRAEe-X9RS_jEF-g_6_0"></a><a id="Tc_ynmulj0gV0OUKaxygkwAIw_6_2"></a><a id="Tc_ETAn7nqxK0GYXw4BqFZDFw_6_5"></a><a id="Tc_FSui-m0xnk6IRDfzhACQlA_6_7"></a><a id="Tc_k8Bg2zdwxECL6rZX_gDqzA_6_10"></a><a id="Tc_KTbBE3-vQkK7SaYide-73Q_7_0"></a><a id="Tc_oh5kJT8XIUeN-_zx8FbaYA_7_7"></a><a id="Tc_hNSr5QVLak6Y0eLdh3xEXg_7_10"></a><a id="Tc_ho3lyUJr6kqZyZQy8XsbWA_8_0"></a><a id="Tc_WldtVcSw5EyRYsenoGZvMQ_8_4"></a><a id="Tc_KXSeQDwnTUyyt-xVk9ba9g_8_9"></a><a id="Tc_ZulL7tU2OkCK0CCDfJV_Yw_10_0"></a><a id="Tc_Wd92XPwUW0m2SgTZ42ooJA_10_4"></a><a id="Tc_yqFWe23ha0Ov715Gy0bUcQ_10_9"></a><a id="Tc_AIbMDHIxSEWwTfLMTYZ6Yw_12_0"></a><a id="Tc_KD3ww26IBEWUl58QwQE5sQ_12_4"></a><a id="Tc_jsCEBFl5FEeW0UJBzr4Zfg_12_9"></a><ix:continuation id="Tb_kIlNruLc40yuY0-plosTGg_cont1" continuedAt="Tb_kIlNruLc40yuY0-plosTGg_cont2"><ix:continuation id="Tb_OSA0ltYunkCNhC8y3wuCaA_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">2021 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the 2021 Plan and changes during the three-month periods ended March 31, 2025 and 2024 are presented below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted - Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate </b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_ArAfWplLXEOf3Y2a-dmirQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_bPQR6Kd6UEunACDjhY4Efg_4_2">842,271</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_ArAfWplLXEOf3Y2a-dmirQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_2OSi42eTykaLV0rt2A6A4Q_4_5">15.86</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_q1X2dBrxDUmXrdZ5cyGnXw" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_K9vz1m29Fk-EgZDm6B08YA_4_7"><span style="font-size:10pt;"> 8.46</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_ArAfWplLXEOf3Y2a-dmirQ" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_Pan1qxQGtUi9xz1nFjdQKg_4_10">20,847,471</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_tppvV_eKEkK10UBOzzao1g_6_2">73,232</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_cPVoG_Ja102oKE9grs56wA_6_5">3.57</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_vMSRPopBW0yNAI60JTM6oQ_7_2">334</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_J9dlvdpSJECZUzoRvOj_8Q_7_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_CugROh7zdk6_Ozd9pwC2iA_8_2">768,705</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_vfRgdrJYZU-Q8Bm2BbZEEg_8_5">17.04</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_DLplVBfmmUGj0h1dmndKcQ_8_7"><span style="font-size:10pt;"> 8.28</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_aVV78fVePU6dKvyVjJWEVQ_8_10">16,375,435</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" id="Tc_NQ_y4XxrpkyEGVSxg9PZzQ_10_2">242,512</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_dQHuy9WfkUOKUUit83n39Q_10_5">3.34</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_SDRjS6oUUUOOcO7IoOxGPA_10_7"><span style="font-size:10pt;"> 7.49</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" id="Tc_8Lj-RXGJmUOmtCltmoIncA_10_10">7,897,315</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" id="Tc_ouvvbASdo0a_kU9BpNfDvA_12_2">768,705</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_DGfWNS2eIkWgPBxMsGnDGA_12_5">17.04</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Tc_EcktN1zMmU2-Y-DzKPnWbQ_12_7"><span style="font-size:10pt;"> 8.28</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" id="Tc_WeYp681uQEi1VYUQKpFfBg_12_10">16,375,435</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;-&#160;Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_moaJm0LrnU6MMaCV9yF0Jg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_wiVRhXQex0SS2TcuWiEUBA_4_2">923,571</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_moaJm0LrnU6MMaCV9yF0Jg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_XmDvII_sv0CASQHGrIhp2A_4_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_LnVHQtCd9EC23a6gqIpvEw" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_-Mi0Tgqs5UGqpXisvWAHrg_4_7"><span style="font-size:10pt;"> 8.76</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_moaJm0LrnU6MMaCV9yF0Jg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_llA2kgrW0UK-7fsgbIABlA_4_10">4,786,252</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_BtpD1_MCJ06CnPY8D4TLFw_7_2">5,334</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_kILcQuG4akuntjXuC6sfyA_7_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_NFrxYC7KlUyt7NyV5ahoVQ_8_2">918,237</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_d4YtnV0ytEqyOmdToub5yg_8_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_AF3w2vHp3kmIoA17Pq3PMA_8_7"><span style="font-size:10pt;"> 8.52</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_VhCcL_ER406I5D-3iqCRNw_8_10">2,946,506</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" id="Tc_CPOUykGO4kS7nx4Vu1PtOg_10_2">386,209</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_5QVh5LsNP0C5HtIhlJAr5A_10_5">3.34</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_M0BBCT39dU6LpVLRL2_Jng_10_7"><span style="font-size:10pt;"> 8.49</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" id="Tc_ueBCaouuHEqEfk_7AY17nQ_10_10">1,258,907</ix:nonFraction></p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" id="Tc_V7K9lxUGXEKM58yORH3FGw_12_2">918,237</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_ORIa9GVfQU-Vhg6MXoKJJQ_12_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Tc_uiEUyKzwHkKC-mdAL8b4uw_12_7"><span style="font-size:10pt;"> 8.52</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" id="Tc_eprmNHQ8t0SWJJu-EjOSRw_12_10">2,946,506</ix:nonFraction></p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="letter-spacing:-0.1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="letter-spacing:-0.1pt;">There were </span><span style="letter-spacing:-0.1pt;"><ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Narr_wExPpzYb206vMrQWVsxVaw"><ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Narr_BFF1uvw1S0-mzOKoqeAMBg">no</ix:nonFraction></ix:nonFraction></span><span style="letter-spacing:-0.1pt;"> options granted during the three months ended March 31, 2025 and 2024.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During the three months ended March 31, 2025, a total of <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr_JopZSfi_u0qVjbX-pKL46Q">261,382</ix:nonFraction> options were exercised at an average exercise price of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Narr_kNddqg4A5U2gdPsOwBIfBg"><ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Narr_DbVWLY-IdkSwMNiiQUDVUA">3.68</ix:nonFraction></ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:10pt;">The compensation cost related to non-vested stock options not yet recognized as of March 31, 2025 totaled approximately </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_tXXF8_qns06soRwiVIrANQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="6" id="Narr_wKqPnxPkBUqOBp33fbmlOA">8.2</ix:nonFraction></span><span style="font-size:10pt;"> million. The weighted-average period over which these costs will be recognized is </span><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_CHYYJdAeeUeEKSw2Ki2jvA" format="ixt-sec:durwordsen" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_KI7lv81mV0GpYGuJp_R5Tg"><span style="font-size:10pt;">31 months</span></ix:nonNumeric><span style="font-size:10pt;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Restricted Stock Awards</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">There were no outstanding awards of restricted stock under the Equity Plans during each of the three-month periods ended March 31, 2025 and 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="Tc_b4PAqL6uxEmMtZ2ZfWmm7A_1_2"></a><a id="Tc_2kZtvOqCmE2P2mh2Wj4Zwg_1_4"></a><a id="Tc_BIJYh2ipCkqXmkeOryHnTw_2_2"></a><a id="Tc_CqvEroD1eEiIC2uWO-kZTg_2_4"></a><a id="Tc_qkaZxOh58Uqi0rLOJlzpuw_3_2"></a><a id="Tc_cw-eb9zmsEy5hEjse_lsLg_3_4"></a><a id="Tc_eWbTzxGzYUuiJLq1e83QOQ_4_0"></a><a id="Tc_n-jol1dYREidnEz4NTY-Kw_4_4"></a><a id="Tc_xQLQbKt82UObHUnsDRGqpA_5_0"></a><a id="Tc_V2fHJvF1jk6bHWyTec36XQ_6_0"></a><a id="Tc_GtgO2QvC1keByBXqLJznyw_7_0"></a><a id="Tc_peJwDh0bhEW2y3VpJYLeKA_8_0"></a><a id="Tc_4pi7gmzKLkyVcXAAHdYBcQ_8_4"></a><a id="Tc_d5CX_G45CkunwvYBc1yCNg_1_2"></a><a id="Tc_cjmAGtazu0SUcfyL2HKlTA_1_4"></a><a id="Tc_replsDyxLE-rWeCN8cslVQ_2_2"></a><a id="Tc_YM9x7eZWmk6Ut6iWgzjpaQ_2_4"></a><a id="Tc_CITydXcYRk-V62hlZRLYCg_3_2"></a><a id="Tc_J4NwHSvlk0uqjE7KipRjGA_3_4"></a><a id="Tc_snm4M5gMCECcwP8ONL6PdQ_4_0"></a><a id="Tc_0Dme6CeljU2pjCEqQRHGGw_4_4"></a><a id="Tc_6tJ9qkcd3kmBrX_0TIqFYw_5_0"></a><a id="Tc_aDa34_RK10CEzF5GPCfc3Q_6_0"></a><a id="Tc_Y1nILdinBkKuoBb4dKK_bw_6_2"></a><a id="Tc_aRmydZcHNkmF_syeFh3iRQ_6_5"></a><a id="Tc_OO0uO7f2l0uN7GqMt7_aCQ_7_0"></a><a id="Tc_bQyAZ9aSckK66dyZ1PdxRw_8_0"></a><a id="Tc_QQpa_PYaf0i4bZtLOXHHpg_8_4"></a><ix:continuation id="Tb_kIlNruLc40yuY0-plosTGg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Restricted Stock Units</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Restricted stock unit activity under the Equity Plans during each of the three-month periods ended March 31, 2025 and 2024 are presented below:</p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fK6QrLQeLkGrMkhbTCd_7g" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="Group_ipIooLNgL02oCGW_ZmfU9A" continuedAt="Group_ipIooLNgL02oCGW_ZmfU9A_2" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_lVVFl4O5sU6H9_Bbek0yJQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_T3JSNARgzUCZW30oxhX5vQ_4_2">1,249,079</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_lVVFl4O5sU6H9_Bbek0yJQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_eOa0ae5JmEOS1cGZ8EKmAA_4_5">20.98</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Tc_xlEiz_9w_0qntQ4DQqMijw_5_2">2,751</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_vkr8eWLrYEuPPHbTWsXchw_5_5">41.23</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="Tc_vYdLuDiTckuMIMRyctNnpQ_6_2">184,200</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_QUKtdzjr6kG4LwGp0lxrsA_6_5">4.99</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" id="Tc_ARdewaHb-E-7yT6rv_QheA_7_2">530,950</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="Tc_IUAYN15zDUGDkDbbEPuKYQ_7_5">6.37</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_F_g84yoKqkudNGBcdq3IYQ" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_QqxoQHlk2EuHZpquT5UbLg_8_2">536,680</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_F_g84yoKqkudNGBcdq3IYQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_wXJJjzkvmEOiCJwKWfxncQ_8_5">41.03</ix:nonFraction></p></td></tr></table></ix:nonNumeric><ix:continuation id="Group_ipIooLNgL02oCGW_ZmfU9A_2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_hOLJk9PMLkmkjkHAEUse0g" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_DeEyK_-kv0Ob9OmpTQ1tfw_4_2">749,756</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_hOLJk9PMLkmkjkHAEUse0g" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_kfPYQhskv02w7mpegNlQBQ_4_5">5.77</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_QQC1vK8EAkaK4H4NqXPdIg" decimals="INF" format="ixt:fixed-zero" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Tc_CH7dPfxyuEKAxejr5vujqA_5_2">-</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_QQC1vK8EAkaK4H4NqXPdIg" decimals="2" format="ixt:fixed-zero" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_8HPV3uvXiUmf5uMRyvi08Q_5_5">-</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_QQC1vK8EAkaK4H4NqXPdIg" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" id="Tc_Q3egnEjlcEWZWXZitUarhQ_7_2">995</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_QQC1vK8EAkaK4H4NqXPdIg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="Tc_WCXsaegeJEWiyJVA_srweQ_7_5">8.29</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="As_Of_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_nkphx0hF80-7e_JgZJOf-w" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_tH6aG6AnqUuQ7AJ_xje-jQ_8_2">748,761</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw" contextRef="As_Of_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_nkphx0hF80-7e_JgZJOf-w" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_E7Se3N3CtkyXRwtNgIGHdg_8_5">5.78</ix:nonFraction></p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There were <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_srt_TitleOfIndividualAxis_inod_NonEmployeeMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_uf8-D0wIrEWORyhDYe4Sbg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_poKNaC7CkkqKHdEkQSEQIA">no</ix:nonFraction> restricted stock units granted to non-employee directors during the three months ended March 31, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">The compensation cost related to non-vested restricted stock units not yet recognized as of March 31, 2025 totaled approximately </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_XJ4tjH17KEeA-xes37wPLA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="6" id="Narr_IJAmsDsodEGdTWGynnXYVQ">19.6</ix:nonFraction></span><span style="font-size:10pt;"> million. The weighted-average period over which these costs will be recognized is </span><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fK6QrLQeLkGrMkhbTCd_7g" format="ixt-sec:durwordsen" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_vgmZwtA4N0WvVsca8fn6Gw"><span style="font-size:10pt;">31 months</span></ix:nonNumeric><span style="font-size:10pt;">.</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><a id="_4dbd4563_8c25_4595_b004_7acd4d7ee81a"></a><a id="Tc_PMBVfYywvEy_Xaw9AGt52A_1_8"></a><a id="Tc_mA505pCBTkK_lzSUNG4HYQ_2_2"></a><a id="Tc_sEQPyuCt7E-I5f5LkEcySw_2_5"></a><a id="Tc_43bNnnvwZEW4Me7m8vgG2w_2_8"></a><a id="Tc_PndplmHWsEiQpKwpEUiFmw_2_11"></a><a id="Tc_drRfcGB2ek2x_G5L1CRgYQ_3_2"></a><a id="Tc_h2kAk_jVJkGO4ZEDTzIP8Q_3_5"></a><a id="Tc_akImgsD0BUKWt8j8j49ubQ_3_8"></a><a id="Tc_aL9YhXScrkKzwf2t4on-ag_3_11"></a><a id="Tc_u2mDIPKIFUW_4I-ZpmmEyg_4_0"></a><a id="Tc_eNmpTZiZOEmRULsU7wxoqg_4_2"></a><a id="Tc_b7HC91mXt0uD-XouvCWfQA_4_5"></a><a id="Tc_MeFCuBEcQESiwlz0UufKWg_4_8"></a><a id="Tc_FFPON1EmKE25r0kXa3tedA_4_11"></a><a id="Tc_Q5n74qahlUK2ziy_r9idNg_5_0"></a><a id="Tc_-LbXtKjhzE6bhBG3aUTs_A_5_3"></a><a id="Tc_o_6mpo0b7U6C_z-iRQu02A_6_0"></a><a id="Tc_ilDIf918tUmgHZILKSdEmQ_7_0"></a><a id="Tc_gdoyNucS0kCA7Z4KfnERTw_7_9"></a><a id="Tc_cd7CSXQvuEuK515ivFY3FA_8_0"></a><a id="Tc_6EJ92R74C0CHr9_DbQ5nWw_8_2"></a><a id="Tc_61T10qtnD02EgS4pBBnFFA_8_5"></a><a id="Tc_pvjsE-B8K0S_wPv8Gch3sw_8_8"></a><a id="Tc_LS8m9q8cCEOYXj2_PF05XQ_8_11"></a><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ComprehensiveIncomeNoteTextBlock" id="Tb_lY7HLPMFo0qPTJUgmlBhUg" continuedAt="Tb_lY7HLPMFo0qPTJUgmlBhUg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">9.</b></span><b style="font-weight:bold;">Comprehensive loss</b></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" id="Tb_kQXvVfLBfU6pKW-S4Acqtw" continuedAt="Tb_kQXvVfLBfU6pKW-S4Acqtw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Accumulated other comprehensive loss, as reflected in the condensed consolidated balance sheets, consists of pension liability adjustments, net of taxes, foreign currency translation adjustment and changes in fair value of derivatives, net of taxes. The components of accumulated other comprehensive loss as of March 31, 2025 and 2024, and reclassifications from accumulated other comprehensive loss for the three-month periods, are presented below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pension Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive&#160;Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_8MCRqwItXUmcFMeRzRXBSw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_QxUHlTViX0uopEH8D8TMwg_4_3">233</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_KznPYEsEV0WwNqmraIy8xg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_KauJI8pw4k-2w0r46wxi3g_4_6">395</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_t-z65Ak3I0ed3H7luPc7FQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_4I87gy1U7kuuH-B4zudipQ_4_9">1,842</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_z3KIzkpaQEe2-ws4MeKhDA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_W2oxBTZ75kqbXznRJ-mqgA_4_12">2,470</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other comprehensive income before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_hI5PeDc27kW8II3a5erP_w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_EHn3DKiGtkGbV08hgRPaoQ_5_6">121</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_RiTXS69-x0qOBxN_DqVR-A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_aUpWI_LDb0i3V5wt4oxHDQ_5_9">109</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_UHgk1tIumUib8zZPiqR-Dg_5_12">230</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_4pvpjAaOnkq-3I5DTMB57w" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_sXUGj5jXtUORaD8sH5tFsA_6_3">233</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_hI5PeDc27kW8II3a5erP_w" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_Jo_kd1AYO0uj1nCEJG7Dgg_6_6">274</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_RiTXS69-x0qOBxN_DqVR-A" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_c63t4y1YNESA91QfAnCDng_6_9">1,733</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_qhS0Z3qzPEWj_jysMyLgQg_6_12">2,240</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_4pvpjAaOnkq-3I5DTMB57w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" sign="-" scale="3" id="Tc_1GzMx6ODfE6-tMMamXWyIg_7_3">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_hI5PeDc27kW8II3a5erP_w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_VZt4oZjAk0yuQvOgm_EJrA_7_6">153</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_Kf_Jh_vPFka4Gav_EnTgng_7_12">152</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_j2ui3m7qeUm_DPP3DiImng" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc__lEGOHid6EiRt4T6KpbiNA_8_3">234</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_CRkG-VZ2XkybEC70qUI_CQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_dxkOM6_qm0efHms2S2s94g_8_6">121</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_uv2_3X8okEKOmJtAsyi8Wg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_sqhidbIS6E-n5EoeDyFrwA_8_9">1,733</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DGJrsuEAKkKGO8JDx40oEw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_pasKc45yXUy6sEb9XvDXig_8_12">2,088</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_bb3d820a_4ad5_4fbd_9bef_8aeef167fbdf"></a><a id="Tc_TXMlbQge00KOP4fDLVRgVw_1_8"></a><a id="Tc_hYY3RXh5fE-KrPKhyn4CjA_2_2"></a><a id="Tc_7xj_2cAsBkO98fHPLLFA6Q_2_5"></a><a id="Tc_gYnNbgmz-0anjPgSSuBA9Q_2_8"></a><a id="Tc_Tv68xO8gW0qYrFRdKrNM2Q_2_11"></a><a id="Tc_YT-1ZEYKA0uLnYqCwQqzlQ_3_2"></a><a id="Tc_tmdROKCYh0WCQw--_ww5QA_3_5"></a><a id="Tc_t3YohmcFuE2PW5QnGMlwtw_3_8"></a><a id="Tc_eoI72isSHk6X4RgrvQcT-w_3_11"></a><a id="Tc_ukXQNtLBPk62QGg9rsgunA_4_0"></a><a id="Tc_7KtnWUHlYEygNNBZIXlSdQ_4_2"></a><a id="Tc_gMw2aSRgdkmAe7veYVI16A_4_5"></a><a id="Tc_gUbmGVK9wUa8rU8uwsadXQ_4_8"></a><a id="Tc_9cH-fNVL2UetLyTAca0R1A_4_11"></a><a id="Tc_HLZNvvthG0ubWjO0sMFS1w_5_0"></a><a id="Tc_WZLXKNsp50-5grBbNSoz5w_5_3"></a><a id="Tc_zaHP0vht2kaG2o_aXQq-SA_6_0"></a><a id="Tc_fxIanK1CLEGC01MmwBP70Q_7_0"></a><a id="Tc_g-HgjswbU0id5UHoqLFCtg_7_9"></a><a id="Tc_FbxAPmu3PEKYoDU-mFmRvQ_8_0"></a><a id="Tc_pcfRc2ur6kyu4_SBvo73Sw_8_2"></a><a id="Tc_A9s-BEoRSEONN4VHxnJObg_8_5"></a><a id="Tc_KVeQCAs0eUKXDTtKmsygmg_8_8"></a><a id="Tc_V0Cdwk0LS0ipaE0nK9tybw_8_11"></a><ix:continuation id="Tb_lY7HLPMFo0qPTJUgmlBhUg_cont1"><ix:continuation id="Tb_kQXvVfLBfU6pKW-S4Acqtw_cont1"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pension Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_cOmFGdRESEi5Uk3kWenrDg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_f5QZtmuPS0Gp01ygNnyyVg_4_3">412</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_y83tZ2wMjEW0s01FwUjVbQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_c72cKU7530ur3AFZSVTUoA_4_6">41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_LoLm4giUFEKAiFJ_YE48ag" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_9U8yTKNkdUSxwYc9C-kMXg_4_9">1,250</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sRhdc0ZnR0q4ZHjL5zlSRw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_yU3_-HN_VUyeCwiv8hiXtA_4_12">1,621</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_3KzfqUaaXk2t238RLkLKKg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_OZbGC6YkkU6xM2O3ff1AfA_5_6">13</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_3t4BW1b080mIPP1DM5mMyQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_ucd6qy1HBEKMSSVEElJGiA_5_9">130</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_ge0Gobm7CkSqLTDf3mQ08A_5_12">143</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_H1QwP7sCk0KjAQ4H-gWl1A" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_3CIIWO0GdU2rac_o0CKikw_6_3">412</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_3KzfqUaaXk2t238RLkLKKg" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_mlfWCSMEVUWuomtPgfDZww_6_6">28</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_3t4BW1b080mIPP1DM5mMyQ" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_R83Wp4pThEiWqHudnV5C8g_6_9">1,380</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww" decimals="-3" format="ixt:num-dot-decimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_2f6sva9No0mHCvS_0YnwnQ_6_12">1,764</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_H1QwP7sCk0KjAQ4H-gWl1A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" sign="-" scale="3" id="Tc_J-a37ktvpE2igJq42yJlXA_7_3">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_3KzfqUaaXk2t238RLkLKKg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" sign="-" scale="3" id="Tc_SVgI3YfumkWOeVLDeiApvg_7_6">21</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" sign="-" scale="3" id="Tc_M6gEcxFJMk6hlntu4aGzog_7_12">22</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_vdsQSR3yqkayOzSX0R5FsQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_wx6AZLbG20qIoHhxkGS3wg_8_3">413</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_akxyCxa_JkKWbIOtoQK7Zg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_KtmPvHwfAkeAMM2lfjG1pw_8_6">7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_wR4PJASvPkebrdyl6Cv4Kw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_nPuju7JsfEabnxQckeLJ4A_8_9">1,380</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_nYar1tfyxk2rj6UzvMvBNg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_nzftuVZ6GkelUzMDKrqFYQ_8_12">1,786</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Taxes related to each component of other comprehensive loss were not material for each of the three-month periods presented and therefore not disclosed separately.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">All reclassifications from accumulated other comprehensive income (loss) had an impact on direct operating costs in the condensed consolidated statements of operations and comprehensive income.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_82ZO2XYm10uL0wsUj5533w" continuedAt="Tb_82ZO2XYm10uL0wsUj5533w_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">10.</b></span>Segment reporting and concentrations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are classified in <ix:nonFraction unitRef="Unit_Standard_segment_Fd9GiEWAlkm1J2XHWdbi8A" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_FTZ2SKCNZ0evnkNYibD0ug">three</ix:nonFraction> reporting segments: Digital Data Solutions (&#8220;DDS&#8221;), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The DDS segment provides AI data preparation services, collecting or creating training data, annotating training data, and training AI algorithms for its customers, and AI model deployment and integration. The DDS segment also provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Synodex segment provides an industry platform that transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment provides an industry platform that provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news channels (print, web, radio and TV) and social media channels. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">A significant portion of the Company&#8217;s revenues is generated from its locations in the Philippines, India, Sri Lanka, Canada, Germany, Israel, United States and the United Kingdom.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) is the senior executive committee that includes the chief executive officer, the chief operating officer, and the chief financial officer (interim).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The U.S. GAAP measures used by the Company&#8217;s CODM to evaluate segment performance and allocate resources&#8212;such as employees, property, and financial or capital resources during the annual budgeting and forecasting process, are Revenues, Gross Profit and Income before provision for income taxes. Performance results are monitored, reviewed, and measured monthly and quarterly by comparing budget and forecast to actual results for profit measures, assessing returns on investment, compensation decisions and changing strategies, if required.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accounting policies used by the DDS, Synodex and Agility segments are the same as those described in the summary of significant accounting policies.</p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_b82fe89c_8df0_4495_a53f_155d0a180876"></a><a id="Tc_MPPZNXuRZUCZopaKhJOu7w_1_2"></a><a id="Tc_NJytc2BrnUGPFk5c3gYSrQ_1_5"></a><a id="Tc_9QNT7khblEKppMwfK2cvkQ_2_0"></a><a id="Tc_4s_rMQdI9U2vEGizzN3lPw_3_0"></a><a id="Tc_m2svUj3_hkaAOOW1E6lcRw_3_2"></a><a id="Tc_SutUH__EBEqbTaPf_8YG5A_3_5"></a><a id="Tc_10I2AWutGESotUY-NKNT9A_4_0"></a><a id="Tc_F4Wd3d-ShkmE2bh7F_RzWA_5_0"></a><a id="Tc_-G7ZD-6ag065Rnm9w2arnw_6_0"></a><a id="Tc_bwmUljlkWEK08kOmf7bnXw_6_2"></a><a id="Tc__7nMqYhhWEqXS9kHWPCbuA_6_5"></a><a id="_d1b01326_8bfb_4bc4_a5d6_a868b61b0258"></a><a id="Tc_1yBv8L4LMkyGqOyxIpATOw_1_2"></a><a id="Tc_gV9bnEmCxkKHV5sEKzg97w_2_3"></a><a id="Tc_LpmBL4YlF0y7ATOb0PyrHQ_2_6"></a><a id="Tc_rkdFKjxQLkix_yEkAnM2rg_2_8"></a><a id="Tc_L9uRy8fzw0K0Ht7wYl3k8A_2_11"></a><a id="Tc_q83hIKHDYU-FnTunwIhoTA_3_0"></a><a id="Tc_BdjppvwbYEyLmOeWJJHXag_3_2"></a><a id="Tc_hTygmPMgSUmu91EjIkyVag_3_5"></a><a id="Tc_y7fgbXtmm0yPeSehfu4Q0Q_3_8"></a><a id="Tc_8dhz-vPNH0uBf7mhfz6UIw_3_11"></a><a id="Tc_rxscqKK0-kiTfhmKw8PMCQ_4_0"></a><a id="Tc_Kv38IJVOZE-WeOwPCK9wvg_5_0"></a><a id="Tc_0Rt4shC5JkaA6Q5OCXEHpw_6_0"></a><a id="Tc_9RND8fLT60-0WfTJi2A8tw_7_0"></a><a id="Tc_53MlS59B7kqDpSU1m7jaOQ_8_0"></a><a id="Tc_qa3ex-qOU0mtQyYvFqa2-w_8_6"></a><a id="Tc_b9bd2xxSpUeXZJlTtRJ6-g_8_9"></a><a id="Tc_X2tPTvxe6Ee3KyROl9NZtQ_9_0"></a><a id="Tc_a4wLQn303E6tzctx2EIi4A_9_2"></a><a id="Tc_N9_kSyaroUqx_v2HoRdfzA_9_5"></a><a id="Tc_rCnb9Jvw206wpLvlirkLYw_9_8"></a><a id="Tc_P29-Kx5a7k-0U6BR3ZFL1g_9_11"></a><a id="_9baf9e39_af90_4586_8c3c_a7986dd5c390"></a><a id="Tc_xfJxwJ3xsUi23_l6_vXAZg_1_2"></a><a id="Tc_Xlt-yLDHpESmR4jebRvVHQ_2_2"></a><a id="Tc_hMI08hwOsUGvI2JhhVDMNw_2_5"></a><a id="Tc_QPZ1T59FIkq1Pt94df9GeQ_2_8"></a><a id="Tc_FBd4Q6rf-Ui6F2yCRzn2FA_2_11"></a><a id="Tc_ng2xedpDjUqP9PdqVtvX3A_3_0"></a><a id="Tc_lwHY9qIHykSLjnwQLK-vEg_3_2"></a><a id="Tc_rZsMjceA20CBXnZvuWFlyw_3_5"></a><a id="Tc_TkeO5jij1U-nVL_Sxqtx5A_3_8"></a><a id="Tc_bGuUk27Ua0q5sqoxcXKN0w_3_11"></a><a id="Tc_0FvfKJEekUO4Q0WM2fhDzg_4_0"></a><a id="Tc_OotxD3Dh70O6Sd-k74G93Q_5_0"></a><a id="Tc_oTz25WXV9U277q2m_CHv3w_6_0"></a><a id="Tc_vIuxWR6mAEO7ut7f4Bishg_7_0"></a><a id="Tc_xfMcoyB0l0W9PeFkTcCtNw_8_0"></a><a id="Tc_riUttz2NzUS5Ak3tJJsJUQ_8_6"></a><a id="Tc__qfV2qcnek2HX6kJZej8fA_9_0"></a><a id="Tc_N82XIx3vVkqYhsbv0y6y8A_9_2"></a><a id="Tc_gngky2wE0EqFRxbTjC0UhQ_9_5"></a><a id="Tc_mb2iVi2jCkmY1npTbYsvZg_9_8"></a><a id="Tc_mG7cHC1aeUGolBZz55ObEg_9_11"></a><ix:continuation id="Tb_82ZO2XYm10uL0wsUj5533w_cont1" continuedAt="Tb_82ZO2XYm10uL0wsUj5533w_cont2"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" id="Tb__WY2xr_gU06Bj31hEaJlvg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The measure of segment assets is reported on the balance sheet as total consolidated assets shown in the table below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024*</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_s18ad0ZGikyHRxLuAMtroA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_3z7oZX-9vkKoLto-V27u_A_3_3">102,723</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_QZxJyZGfOEmuRBt-ppuQwQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_nm_KUZN0lEGuwMwXCCqjWQ_3_6">91,588</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_PwAkRgdSJk-tulvH58Qivw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_N2t8cOKlUkKWWomEIxySTw_4_3">4,743</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_71Ok5Hnwl0mWlDTCaiJpCQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_6Tfu3NTSDkqu69AZFCqZNw_4_6">4,790</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_or5Vs6YBN0SyFws3DWyBiw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_WrCUVD3-dkGWvV647BRChw_5_3">17,744</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kyIc6s8LlkqxYFfRd8-KGA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_eSyDArD7MkCXHrDdhOPHgw_5_6">17,071</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_ibI4r3eQ3EKLm2csV39Ezw_6_3">125,210</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" id="Tc_3AkPNG9e40KUeH3UECYG1A_6_6">113,449</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">*<i style="font-style:italic;">Prior period segment assets of DDS, Synodex and Agility segments have been reclassified to align with the current period presentation, with no impact on the Company&#8217;s consolidated results.</i></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Agility assets include goodwill of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_or5Vs6YBN0SyFws3DWyBiw" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="6" id="Narr_bQfoOYB86Uadhm_Vw1JgFg"><ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kyIc6s8LlkqxYFfRd8-KGA" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="6" id="Narr_bPe8B82Zlk2U0RARfx-wnw">2.0</ix:nonFraction></ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> million for each of the periods ended March 31, 2025 and December 31, 2024.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Segment assets consist of cash, receivables, prepaid and other assets, property and equipment, right of-use-assets, deferred income tax and intangibles.</span></td></tr></table><div style="margin-top:10pt;"></div></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" id="Tb_CDlsFglayEqqQj6O7d2TJQ" continuedAt="Tb_CDlsFglayEqqQj6O7d2TJQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below shows segment information for other significant income statement items (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, 2025</b></p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_PrDfyp31wUqTzXr_0ZXzQg_3_3">50,831</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_8TK9fkIMZEOeaIvw9y2l4Q_3_6">2,013</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_lbz0kXUp1kSe41lALrow0g_3_9">5,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_E-h0uZ1dZkuCmbOAFeZmtw_3_12">58,344</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1) (3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_ggPvThn5Q0O6SIgsMXebcA_4_3">31,102</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_yWe4RbxNtU-1xTJd5Y6IOg_4_6">1,461</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_NuKYUA_4WESM35ChIwMZuA_4_9">2,529</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_2iU-BXW0YEiJIaJIPqE71g_4_12">35,092</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_INK0UfSP30OrMRO-Tnw9AA_5_3">19,729</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_uTX9YY4tSU-bvIeZDa_WLg_5_6">552</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_HtbYtmq6AEyCEx1zAAhMqQ_5_9">2,971</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_YdzR65LfHEScLeqqXda3Zg_5_12">23,252</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2) (4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_OJ47NtFkWUerIqxbbv3n6w_6_3">11,594</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_djsOvaXJWkmtMYIHcxpYKQ_6_6">286</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_owuqJ-YyJUuAcXbmjHvIFA_6_9">3,100</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_MGmwmnIAzE2JY59geyh-Nw_6_12">14,980</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Segment operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_MWbqq41unE6h1Vcy36dT_Q_7_3">8,135</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_dV7IeXg2V0GXJGEUx_2YrA_7_6">266</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_vWpF0BcSVEmypUxmBWROYQ_7_9">129</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_NK-mFjtVGEW_1VIKF0yAKw_7_12">8,272</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="Tc_5ut-t_Exx0GB2ZItSGyo8w_8_3">127</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="Tc_LADUhKbVLk2DOJCFScZ2Wg_8_12">127</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_czjYk90qF0GIbK2F_S9x3Q_9_3">8,262</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_qFM1DwbN6kuZcjRnhxSGoA_9_6">266</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_N9UTfB9UT0yF3Tz2bk5K4A_9_9">129</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_vsaAX3HJd02zsD5dHes0sA_9_12">8,399</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_pXx2fyg3EEqIE9XZ3rAiSg_3_3">19,705</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_VdY2B8AT0Emp1O6fMEVt4Q_3_6">1,871</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_-xgCc9SsqkKtRgnJfcNSgw_3_9">4,928</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ts2-NqjHB0-5EEVY6hEtUQ_3_12">26,504</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Direct operating costs <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1) (3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_qk6DsOjns0OygoLbZNhFEw_4_3">13,147</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_gIfGJeqzL06gDwXH-iSkzg_4_6">1,472</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_oRwBxx2WkU-34PqXKhqgpQ_4_9">2,250</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_lBl36RWdGEaA4hoKUnsr1Q_4_12">16,869</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_hvocUF_wzEmPmKTw-5dGMg_5_3">6,558</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_QzNlo4JtKk-JSn43iG9vfQ_5_6">399</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc__LvIbXkRK06FkMv_gxJXWQ_5_9">2,678</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" id="Tc_1y2aMVThzU6u1I9lmGF_Kw_5_12">9,635</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Selling and administrative expenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2) (4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_9ZjR3MPUm0OzmuUCCRqizQ_6_3">5,795</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_GRhXE3B5dUmTiQWMs1H0Yw_6_6">123</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_HAAldbD6KUGGEh3BDgSi8A_6_9">2,387</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_1CU3jrBttkab84Jp8U0W6Q_6_12">8,305</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Segment operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_GmCj0mcAPkGFlEpVPYyzag_7_3">763</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_foMi734S_0Kgg5oZFQSKCg_7_6">276</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_TmkAFcruQ0iukRBkDrd68Q_7_9">291</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc__Umyn4aHs0KwzQ1U8ZZx0g_7_12">1,330</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Interest (income) expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="Tc_K-SJlMxwW0ufE3OsvTjPdw_8_3">85</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" sign="-" scale="3" id="Tc_v4vRoNEITUGWDovidjMBZw_8_9">1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" scale="3" id="Tc_hNZ3IWmR9UCGyuQmydxQqQ_8_12">84</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Income before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_t_xhpPr-ekuopRowtA7Epg_9_3">848</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_0XQB-hxVa0SPZIImHztW1Q_9_6">276</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_YUycGgJO9UWQHq2dgf0AhA_9_9">290</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_VZPj8IN_a0GRg99Fsz0Awg_9_12">1,414</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, recruitment costs and other direct expenses that are incurred in providing services to our customers.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for credit losses and other administrative overhead expenses.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes non-cash expenses which consist mainly of depreciation, amortization of capitalized software development costs and stock-based compensation expense.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes non-cash expenses which consist mainly of stock-based compensation expense.</span></td></tr></table><div style="margin-top:10pt;"></div></ix:nonNumeric></ix:continuation></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_097fd992_c2e7_4b41_b275_5f02222a6d60"></a><a id="Tc_bAuMpYSLKUS2v0hg-5DMAg_1_2"></a><a id="Tc_2kA5pug12kCH-KfL9Fgapg_2_2"></a><a id="Tc_i-ErH2hfSEyEojMyUGDbfw_3_2"></a><a id="Tc_vpp1rq4TNkWdU1BpYy6AGA_3_5"></a><a id="Tc_3H2dInKCvUmUdvt8FYowAQ_4_0"></a><a id="Tc_ix0Fv6c0sEaFL1GbcZzaoA_4_2"></a><a id="Tc_7USCBse5HUSjZaBMO2j7Aw_4_5"></a><a id="Tc_3BNSQX9JJU24zeLijVLrKg_5_0"></a><a id="Tc_e_f1F_iuh0214bYtXkQR1A_6_0"></a><a id="Tc_pEzoojmoEEOiOzTPANNhKg_7_0"></a><a id="Tc_21-A4B0HX0OQWnyDKSG07Q_8_0"></a><a id="Tc_FoTH4HvBZUuDm3JYo9BdOw_9_0"></a><a id="Tc_i6Pu3Mm5hE-KdjHBtyW2jw_9_2"></a><a id="Tc_WA7ukkkoX0W-g0IJLd6yxg_9_5"></a><a id="_a3fbf403_553c_4e18_afbf_f14aba9bc043"></a><a id="Tc_I3Yj7oBVKEKFRPsqheTZ6Q_1_2"></a><a id="Tc_hO3QJuBVjU2-8ZkTxYAwQw_1_5"></a><a id="Tc_Bfj38eojKkiNWxWC-ROwCw_2_2"></a><a id="Tc_KV7XeXHyhEWi3sy1bNmYhg_2_5"></a><a id="Tc_HH7W4LJd3k6xEFvHNBObTQ_3_0"></a><a id="Tc_kOv5dV-frEeLX6dF2KrNKA_3_2"></a><a id="Tc_LAhY44TPO02MeRThQLiZsA_3_5"></a><a id="Tc_Nomfv9aj3kemB2gbjanZhw_5_0"></a><a id="Tc_xbn6P6wQgUuW11LTBXYWXQ_6_0"></a><a id="Tc_1SfDN1C7VUulo8Cyd4S1GA_7_0"></a><a id="Tc_npESzDIQh02YcZe3xHeynA_8_0"></a><a id="Tc_e_jaLwAf4EaTmBfqoDFaoA_9_0"></a><a id="Tc_i82k_rc_9UmfLjKMzvL0OQ_10_0"></a><a id="Tc_r-u7ZvOFw0-9V-W1dfkfLg_11_0"></a><a id="Tc_ZQrWmtWgwEyJTz-J0Fozxw_12_0"></a><a id="Tc_Tt44xpzUJEqFe4yL2E9siA_13_0"></a><a id="Tc_aG8Jase8nEK3LWTO8jSWsA_14_0"></a><a id="Tc_u9ZLirAf6E6aiTqdLtpG2A_14_2"></a><a id="Tc_cYbVmRmNDkCwWbRVUD8o9A_14_5"></a><ix:continuation id="Tb_82ZO2XYm10uL0wsUj5533w_cont2"><ix:continuation id="Tb_CDlsFglayEqqQj6O7d2TJQ_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" id="Tb_5_GQS-h4KUCsw4Vh8WYwWQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues for the three-month periods ended March 31, 2025, and 2024 by geographic region (determined based upon customer&#8217;s domicile), were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_US_L8Bb2CplukOv0vsyaON87Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_1cUl1bkujE6EQ-dLgI3Htw_4_3">48,897</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_US_Orie9KXpk02RNRodlJF9gw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_RU7QvyUVq0a18hObqpIj5Q_4_6">17,872</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_CA_krcKLQZfyUalWvgWXnU2_A" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_xf1XPPATx0yQB4f9mLPHuQ_5_3">2,723</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_CA_D-GEb2y9F0Oief308_pVwQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ICEZBdHITkiMyDBnxGarmw_5_6">2,226</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United Kingdom </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_GB_p0dyuBvOtEKn8uDmOHJZuw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_idStdiz2fE-vm-RxJ_eUFQ_6_3">2,426</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_GB_HUw2aep-DUeJFQW3DwL-zw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_JX1n9p_Z3UWcdBmZhTa55w_6_6">2,249</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_NL_WCF2Bj7Z40C3mekZgNQtnQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_mb0EWTDHIkODyzJIKajWSg_7_3">2,165</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_NL_Vdm6p37w7k2cO2KGKg0qfw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_z0VQvtIoCESQPOg8hC6QAQ_7_6">2,039</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Others - principally other European countries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_tP8Z5fRK20mh6CsOZe5kRA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_tii-54MavU6L7B28wDHc_g_8_3">2,133</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_lTVTtBlQUkauEGUUOLGcvQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_1g3vUpVLd0eYIAHR4BaJoQ_8_6">2,118</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_LDVztXD1lUaKypODeIqxXA_9_3">58,344</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_dIxW5lYP-EyxCQrxvhipxg_9_6">26,504</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" id="Tb_16wug_1XfUCQ8uo1w_m3gQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Long-lived assets as of March 31, 2025 and December 31, 2024 by geographic region were comprised of (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_US_CHYsuTVyMUu34excVbZvMQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_3vbL5yeMuk6Q6uyrY6-ULw_3_3">10,633</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_US_71OTmsbtHkisYtT2ixZrLw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_ifSMYm5KfUKmY58wm5tRNw_3_6">10,182</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign countries:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_CA_Kw1YwoyLy0K60osz8bzD2Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_ib9-BqHC2UaEQH7goJtVAQ_6_3">6,214</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_CA_QgpY_glChUKft7yTRv7yzw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_NWfVGd9WRkeVQJY2rHBAKA_6_6">6,265</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_GB_aEj27gVBL06ErDGXBshbHw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_0itMOXU5OUqmjFKISTZLAA_7_3">784</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_GB_-xqlaMvyNkKnRDjZvgWQtw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_V8IwRjLyaUiaWdtaiYJ6rA_7_6">806</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_PH_Ye_dAdcAAkGUSo6loAkyDQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_9k0hds-rEkuzIMTYM8wPvw_8_3">3,606</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_PH_cC8_un4h6USVH87pR9U3Eg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_jEZN6B3m0EG23CpDnmv99w_8_6">3,532</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_IN_fHG8lzXvZk6os1HMQrfjIQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_jq-4MDJ9ikG5b2bev15TYA_9_3">2,367</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_IN_BjDfzcNeiUai1zY5JwYz5g" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_GfxTnOlsEkG_OIXYjc4IDw_9_6">2,251</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Sri Lanka</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_LK_lmw_mD6qEk2JNkheZLMSFA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_FNQdj1Jy2EG2JICj-rDm8g_10_3">621</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_LK_PRAWsEUTv0uYNwqKKc91ag" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_qVqJye2HnkWXDaVUR7BhFQ_10_6">587</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Israel</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_stpr_IL_xF0tN2ChnESVM1hf03uDJw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_YUopK6-Y4kyLu2Ll_JkMbA_11_3">74</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_stpr_IL_PXv6rk6z9UWZlWwSVVzwog" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_Vm8EWXYJBkGgQHFjOQAT8w_11_6">63</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_DE_MrJ71MNrn0SJkHUliE-lDA" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_mRqh60TOWEaTyDtLlxvk8g_12_3">4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_DE_Pz0GPa-sAkGbfy8ShDPI7Q" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_8n7IDr7ZNUm7ZaV2YJRurQ_12_6">4</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_7maW9yg8d06jLKHj6t8iFQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_moy_CId6rUuU2G2BIo9M4Q_13_3">13,670</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_YCer3vRef0mN_XtnBoRCyw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_VByGBpFg3UmmRCqHd-qYwg_13_6">13,508</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_bm8CC2Ota0W1pkNAsKoyZw_14_3">24,303</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_RH2vWR5rxUua6ya7l176Ug_14_6">23,690</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">Long-lived assets include the unamortized balance of right-of-use assets amounting to $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="6" id="Narr_dkJhuu3o70KsDpJRex_I6g">4.0</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="6" id="Narr_6sii9sKlE0-2xvLW5F1S7Q">4.2</ix:nonFraction> million as of March 31, 2025 and December 31, 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA" contextRef="Duration_1_1_2024_To_3_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uXH36uHHL0m1WrN0XlMGRg" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_adiSnZem2k2KWvjD3ME40w"><ix:nonFraction unitRef="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA" contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mB5Q9K96UUOy8n4DHEVETQ" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_W5Hwk0QD-kaLPBJ-jlnbNg">One</ix:nonFraction></ix:nonFraction> customer in the DDS segment generated approximately <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mB5Q9K96UUOy8n4DHEVETQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_V3pHVnXYhUK264nXPwtk6A">61</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uXH36uHHL0m1WrN0XlMGRg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_1i9toDGH80W3Uv-WI-hJZw">24</ix:nonFraction>% of the Company&#8217;s total revenues for the three months ended March 31, 2025 and 2024, respectively. <ix:nonFraction unitRef="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA" contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_oP9z7AdlrEObIp_UUraYcw" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_BI1Z7cRjZUGabOhaPfJqnw">No</ix:nonFraction> other customer accounted for <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_DUwm5kwbA0aiMdaOVLxcug" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_1dxH3J6KuE2NzHAerU9C4w">10</ix:nonFraction>% or more of total revenues during these periods. Further revenues from non-U.S. customers accounted for <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Nbo_UcopHk2Q_vLSX6yBkw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_e3vs771uCkyWEYw3E_MLGQ">16</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_5oVJAKDc8U2Qc1h5x7cKsQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_fylOs8KsJ06ofvIWndWp1w">33</ix:nonFraction>% of the Company&#8217;s total revenues for the three months ended March 31, 2025 and 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">As of March 31, 2025, approximately <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9_cimou6DkmSYRDyvGCZDg" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_iNq1XnsrpkuPBO_iEsCwXw">17</ix:nonFraction>% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IyGkHxiXZk-_hLlU7TXN9Q" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_b896sSzhokC2D7YuzXopRg">51</ix:nonFraction>% of the Company&#8217;s accounts receivable was due from <ix:nonFraction unitRef="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA" contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IyGkHxiXZk-_hLlU7TXN9Q" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_obL1dQmD6UyqN39KSQWIOQ">one</ix:nonFraction> customer. As of December 31, 2024, approximately <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9xNFECjx_EelJhdPv7MFEw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_A0V2BRz0T0COOY9DOMXUFg">16</ix:nonFraction>% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_h_ogQc6aJk2JcVL0ksKIsw" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_tjrF9xaxOUupdXGTnEO5xA">61</ix:nonFraction>% of the Company&#8217;s accounts receivable was due from <ix:nonFraction unitRef="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_h_ogQc6aJk2JcVL0ksKIsw" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_o7MasdxTVEyWmjd-vOnpOg">two</ix:nonFraction> customers. <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_ilzQJWOgq0K-PNap8oltkA" decimals="0" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_Tza5V1XiSkGyvEljX-1a7Q"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_T9fhNM_RBEehb2ZVjzFLnA" decimals="0" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_4aVvIPy_pE-vIzlKN54Rww">No</ix:nonFraction></ix:nonFraction> other customer accounted for <ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_MzxGSCoGskCqEjEzp2Xlag" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_xZVCVlSECU-_oUOKEkt-YQ"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_yIOB3NDyiE-L4xehgvE7yQ" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_2PwzQzgrcEG9FiZleyfDQQ">10</ix:nonFraction></ix:nonFraction>% or more of the accounts receivable as of March 31, 2025 and December 31, 2024.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_3da086e7_043d_477f_a70f_04399a4b84e5"></a><a id="Tc_Dk7H8MUEgE2Yo73aIxX_Jw_1_2"></a><a id="Tc_K6R6ECYZzkuqSRJeejR_3A_2_2"></a><a id="Tc_46MHsBMyF02JgUBruI3iwg_3_2"></a><a id="Tc_AvUlHWpaoEShoD0f0LY8-w_3_5"></a><a id="Tc_ry5FsTgdwkqnF46Dep6n9w_4_0"></a><a id="Tc_JqeKsUA9h0meuY_3_eNSlA_4_2"></a><a id="Tc_UvhaNMlR8UG4KLDxRihDPQ_4_5"></a><a id="Tc_RYJYA4qwtkWPSoyxqH26zA_5_0"></a><a id="Tc_YAVxnEANa02VllghZCEIGw_6_0"></a><a id="Tc_NqpKruOTU0WtWTpjD9qcFw_7_0"></a><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:EarningsPerShareTextBlock" id="Tb_y5KPjq6Hs0C9nZC_1eVNkw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">11.</b></span>Income Per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_LykY_dOFmUSeY03F4Jv-rw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The calculation of the dilutive effect of outstanding options is shown in the table below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income attributable to Innodata Inc. and Subsidiaries </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_nghY20QrqUWdN_ncupPlYw_4_3">7,787</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_406edah_PEeYD8jKqoqv5g_4_6">989</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_oHPz7hneH0mLBkJIbukMow_5_3">31,434</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_VzhazdcVVUin7z3X-A5G8A_5_6">28,753</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Dilutive effect of outstanding options </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_IZnvK5Q_N0KrYHD4Y30imw_6_3">3,517</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_TYPFWmSWSU-9k6FApl8ISw_6_6">3,486</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Adjusted for dilutive computation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_Af3csxFM7k2y0-BYerBlUg_7_3">34,951</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_aEGB98MQ6EWe8Opb2V_yjw_7_6">32,239</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Basic income per share is computed using the weighted-average number of common shares outstanding during the year. Diluted income per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted-average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#8220;two-class&#8221; method of computing income per share is used.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Options to purchase <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_afIUS4pplUCgwZk4MTnYOg" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="6" id="Narr_osY7JcemKUGZ8QKEPG1S9Q">3.7</ix:nonFraction> million shares of common stock for the three months ended March 31, 2025 were outstanding and included in the computation of diluted income per share.<span style="font-size:11pt;"> </span>Also included in the computation of diluted income per share are <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fK6QrLQeLkGrMkhbTCd_7g" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_lgcyApv9L02KR6mJXXuJHg">449,342</ix:nonFraction> restricted stock units using the treasury stock method to determine the dilutive effect of restricted stock units outstanding as of March 31, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Options to purchase <ix:nonFraction unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg" contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_DtMLgfZ37Eq41Sk_OgslaA" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_aWJJ2C72rU6LGYMnPCfNfw">3,000</ix:nonFraction> shares of common stock for the three months ended March 31, 2024 were outstanding but not included in the computation of diluted income per share because the exercise price of the options was greater than the average market price of the common shares.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" id="Tb_ysT8cXG3GEuT3I7gDhZd-Q" continuedAt="Tb_ysT8cXG3GEuT3I7gDhZd-Q_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">12.</b></span>Derivatives</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company conducts a large portion of its operations in international markets, which subjects it to foreign currency fluctuations. The most significant foreign currency exposures occur when revenue and associated accounts receivable are collected in one currency and expenses to generate that revenue are incurred in another currency. The Company is also subject to wage inflation and other government mandated increases and operating expenses in Asian countries where the Company has the majority of its operations. The Company&#8217;s primary inflation and exchange rate exposure relates to payroll, other payroll costs and operating expenses in the Philippines, India, Sri Lanka and Israel.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In addition, although most of the Company&#8217;s revenue is denominated in U.S. dollars, a significant portion of total revenues is denominated in Canadian dollars, Pound Sterling and Euros.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="background:#ffffff;">The Company&#8217;s policy is to enter derivative instrument contracts with terms that coincide with the underlying exposure being hedged for a period of up to 12 months. As such, the Company&#8217;s derivative instruments are expected to be highly effective. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded to other comprehensive income (loss). Upon settlement of these contracts, the change in the fair value recorded in other comprehensive income (loss) is reclassified to earnings and included as part of direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of direct operating costs</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking hedge transactions. The Company does not hold or issue derivatives for trading purposes. All derivatives are recognized at their fair value and classified based on the instrument&#8217;s maturity date. The total notional amount for outstanding derivatives designated as hedges was $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DerivativeNotionalAmount" scale="6" id="Narr_j58B7d5th0qUoI8ML166-g">17.2</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DerivativeNotionalAmount" scale="6" id="Narr_PwIXm6r6lUqLLgDOhcEDmA">22.5</ix:nonFraction> million as of March 31, 2025 and December 31, 2024, respectively.</p></ix:nonNumeric></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_d4531d27_fc3b_4cfd_b6c3_8e7dd81dbc73"></a><a id="Tc_crSildWD30CXB41SPAFQNg_1_2"></a><a id="Tc_Uc3vnESM-UmC2pmh21TlSg_1_4"></a><a id="Tc_h3mLPcQEykyUGdojUdfkGQ_2_4"></a><a id="Tc_sfNwVxGBC0OODklER2kCtw_2_7"></a><a id="Tc_w80FumB02kC5CwUrBHMMTg_3_4"></a><a id="Tc_0aVGZsQr60q8N0Qnx6WsoQ_3_7"></a><a id="Tc_ZyfX5V5LgkeK6hSqwftM7A_4_0"></a><a id="Tc_CTb65B2pzEOhFH1fdCHkDw_6_0"></a><a id="Tc_pgV8FbHKsUGt7ofFAR-xIw_6_2"></a><a id="Tc_-Vcm5iV5j0KUo0JvCSIDQw_6_4"></a><a id="Tc_fus8Xk7zf0uYOZaUgYPjZg_6_7"></a><a id="_0151eafe_7332_4b7b_a1b4_1cf510abbaf6"></a><a id="Tc_JTBVEBCmckuNEWannPvTIg_1_2"></a><a id="Tc_FWCzRtfTM0ahRA02HpmYDA_2_2"></a><a id="Tc_0w-8NIWsHkmlkXR1Wn0PdA_3_2"></a><a id="Tc_7BLOtYdMLUO27i8xIrM9fw_3_5"></a><a id="Tc_RyK-TM16akOWscQn1R4qjw_4_0"></a><a id="Tc_M0FpKyNPEEqIi3nafVMRnQ_4_2"></a><a id="Tc_-p5kHYwObESJ98HZs-4zig_4_5"></a><a id="Tc_dv4uDygc-02hX8CQ2kCN3w_5_0"></a><a id="Tc_0aLnIjjOGUeIRJbNun4wdQ_5_2"></a><a id="Tc_1bKki368_EmERrckm5w5Dw_5_5"></a><a id="Tc_0YjvVgMl00imO54FMlr9rQ_6_0"></a><a id="Tc_-cbqay9T3U2v49qfVtx8pQ_6_2"></a><a id="Tc_r00o-_Ur4U6h_Gvpg64zGg_6_3"></a><a id="Tc_KHk877qOt0-2FPA7P8mwVw_6_5"></a><a id="Tc_vlZxGxJvRkO8vqW80zWaqQ_6_6"></a><ix:continuation id="Tb_ysT8cXG3GEuT3I7gDhZd-Q_cont1"><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" id="Tb_Io-jAFIJX0-KeUxqnO63nA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the fair value of derivative instruments included within the condensed consolidated balance sheets as of March 31, 2025 and December 31, 2024 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Derivatives designated as hedging instruments:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_RNjgcR6AlkmhzfO7wA-2wg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DerivativeInstrumentsAndHedgesLiabilities" scale="3" id="Tc_gXOMIbcGiUyBOrWZyAlJrA_6_5">153</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_RfdoGv144E-H_TGon5JC2w" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DerivativeInstrumentsAndHedgesLiabilities" scale="3" id="Tc_2gqHKUPsG0WMlA4wOCyxAQ_6_8">499</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" id="Tb_x6THb5DFQ0CtfjQUrScwNg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The effect of foreign currency forward contracts designated as cash flow hedges on the condensed consolidated statements of operations for the three months ended March 31, 2025 and 2024 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain (loss) recognized in OCI<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" scale="3" id="Tc_CXFRZdCk7UmU3gjGvGe2Rg_4_3">121</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" sign="-" scale="3" id="Tc_CEa8jKqKake0Lbbrzkem7A_4_6">13</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net (gain) loss reclassified from accumulated OCI into income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" scale="3" id="Tc_D8liQVLnq0OrajaGs-pazQ_5_3">153</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" sign="-" scale="3" id="Tc_C48-iEnmwEWF8egnvTNoKQ_5_6">21</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain recognized in income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">Net change in fair value of the effective portion classified into other comprehensive income (&#8220;OCI&#8221;).</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">Effective portion classified within direct operating costs.</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">There were no ineffective portions for the periods presented.</span> </p></td></tr></table></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" name="us-gaap:DebtDisclosureTextBlock" id="Tb_WShiDhrUkkeEbKO4WBimKg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">13.</b></span>Line of Credit</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">On April 4, 2023, the Company entered into a Credit Agreement (the &#8220;Credit Agreement&#8221;) with Wells Fargo Bank, National Association, as lender, and Innodata Inc., Innodata Synodex, LLC, Innodata docGenix, LLC and Agility PR Solutions LLC as co-borrowers. On July 21, 2023, Innodata Services, LLC signed a Joinder Agreement to join the Credit Agreement as a co-borrower. On August 5, 2024, the Company entered into a second amendment to the Credit Agreement (together with the Credit Agreement, the &#8220;Amended Credit Agreement&#8221;). The Amended Credit Agreement provides for a secured revolving line of credit (the &#8220;Revolving Credit Facility&#8221;) up to an amount equal to the lesser of the borrowing base and </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_yz4hvt3UT0KvX9vdbTfL0Q">30.0</ix:nonFraction></span><span style="font-size:10pt;"> million (the &#8220;Maximum Credit&#8221;) and provides that a Borrower may request an increase to the Revolving Credit Facility&#8217;s Maximum Credit of up to, but not to exceed </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ" decimals="-5" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" scale="6" id="Narr_yTuah4IHpkiHK7vli3HFOQ">50.0</ix:nonFraction></span><span style="font-size:10pt;"> million, subject to the approval of the Lender. The Revolving Credit Facility&#8217;s borrowing base is calculated on the basis of (i) </span><span style="font-size:10pt;"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_tufcPa7tpk-lo3UHuTZO3A">85</ix:nonFraction>%</span><span style="font-size:10pt;"> of eligible</span> <span style="font-size:10pt;">accounts (other than eligible foreign accounts and unbilled accounts), plus (ii) the lesser of (a) </span><span style="font-size:10pt;"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_Awg0gbxYsEWljh0GixJ_rA">80</ix:nonFraction>%</span><span style="font-size:10pt;"> of eligible accounts that are unbilled accounts and (b) </span><span style="font-size:10pt;"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_XLoXCP3u1UKnK0hfbUrJwg">30</ix:nonFraction>%</span><span style="font-size:10pt;"> of all eligible accounts, plus (iii) the lesser of (a) </span><span style="font-size:10pt;"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_m1UkJeybAk-OxQX50ralrQ">85</ix:nonFraction>%</span><span style="font-size:10pt;"> of eligible foreign accounts, (b) </span><span style="font-size:10pt;"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_pM5WdAcCgU274vufF2g3OQ">20</ix:nonFraction>%</span><span style="font-size:10pt;"> of all eligible accounts and (c) </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ" decimals="-5" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" scale="6" id="Narr_yUnItbDPbEO8yeopaTZXBg">4.0</ix:nonFraction></span><span style="font-size:10pt;"> million, minus (iv) certain other reserves and adjustments. As of March 31, 2025, such borrowing base calculation equaled approximately </span><span style="font-size:10pt;">$<ix:nonFraction unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg" contextRef="As_Of_3_31_2025_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_KKUCakEdUkWQ65BDAQTCVA" decimals="-5" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityBorrowingBase" scale="6" id="Narr_RRi8EjpnTE6ywIUgDi4IuA">21.4</ix:nonFraction></span><span style="font-size:10pt;"> million. The Credit Agreement contains a financial covenant that requires the Borrowers, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than </span><span style="font-size:10pt;"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_8_5_2024_To_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_vC9JtCo230iJadEiM5NDSA" decimals="2" format="ixt:num-dot-decimal" name="inod:LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" scale="0" id="Narr_e1FiIlpHIky-G5aipp8ZFA">1.10</ix:nonFraction></span><span style="font-size:10pt;"> to 1.00. Except as set forth in the Credit Agreement, borrowings under the Revolving Credit Facility bear interest at a rate equal to the daily simple secured overnight financing rate (&#8220;</span><span style="-sec-ix-hidden:Hidden_TBh2HRybv0uQyjy6gGi50w;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">SOFR</span></span><span style="font-size:10pt;">&#8221;) plus </span><span style="font-size:10pt;"><ix:nonFraction unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w" contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_U3PBbfA1pkOZxwvpWNud3A" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Narr_KBQ8YjZmj0qujjrb4_2ppA">2.25</ix:nonFraction>%</span><span style="font-size:10pt;">. The Company did not utilize the Revolving Credit Facility during the three months ended March 31, 2025 or during the subsequent period through the filing date of this Report.</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:0pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_aff0ade7_1375_41df_b273_c3a8e2c01ca4"></a><a id="Item2_787243"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 8pt 0pt;">Item&#160;2.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt;">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt 0pt 8pt 0pt;">CONDITION AND RESULTS OF OPERATIONS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;text-indent:0pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Cautionary Note&#160;Regarding Forward-Looking Statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Disclosures in this Quarterly Report on Form 10-Q (this &#8220;Report&#8221;) contain certain forward-looking statements within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended, and Section 27A of the Securities Act of 1933, as amended. These forward-looking statements include, without limitation, statements concerning our operations, economic performance, financial condition, developmental program expansion and position in the generative AI services market. Words such as &#8220;project,&#8221; &#8220;believe,&#8221; &#8220;expect,&#8221; &#8220;can,&#8221; &#8220;continue,&#8221; &#8220;could,&#8221; &#8220;intend,&#8221; &#8220;may,&#8221; &#8220;should,&#8221; &#8220;will,&#8221; &#8220;anticipate,&#8221; &#8220;indicate,&#8221; &#8220;predict,&#8221; &#8220;likely,&#8221; &#8220;estimate,&#8221; &#8220;plan,&#8221; &#8220;potential,&#8221; &#8220;possible,&#8221; or the negatives thereof, and other similar expressions generally identify forward-looking statements.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">These forward-looking statements are based on management&#8217;s current expectations, assumptions and estimates and are subject to a number of risks and uncertainties, including, without limitation, impacts resulting from ongoing geopolitical conflicts, including between India and Pakistan, Russia and Ukraine, Hamas&#8217; attack against Israel and the ensuing conflict and increased hostilities between Hezbollah and Israel and Iran and Israel; investments in large language models; that contracts may be terminated by customers; projected or committed volumes of work may not materialize; pipeline opportunities and customer discussions which may not materialize into work or expected volumes of work; the likelihood of continued development of the markets, particularly new and emerging markets, that our services support; the ability and willingness of our customers and prospective customers to execute business plans that give rise to requirements for our services; continuing reliance on project-based work in the Digital Data Solutions (&#8220;DDS&#8221;) segment and the primarily at-will nature of such contracts and the ability of these customers to reduce, delay or cancel projects; potential inability to replace projects that are completed, canceled or reduced; our DDS segment&#8217;s revenue concentration in a limited number of customers; our dependency on content providers in our Agility segment; our ability to achieve revenue and growth targets; difficulty in integrating and deriving synergies from acquisitions, joint ventures and strategic investments; potential undiscovered liabilities of companies and businesses that we may acquire; potential impairment of the carrying value of goodwill and other acquired intangible assets of companies and businesses that we acquire; a continued downturn in or depressed market conditions; changes in external market factors; the potential effects of U.S. global trading and monetary policy, including the interest rate policies of the Federal Reserve; changes in our business or growth strategy; the emergence of new, or growth in existing competitors; various other competitive and technological factors; our use of and reliance on information technology systems, including potential security breaches, cyber-attacks, privacy breaches or data breaches that result in the unauthorized disclosure of consumer, customer, employee or Company information, or service interruptions; and other risks and uncertainties indicated from time to time in our filings with the Securities and Exchange Commission.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Our actual results could differ materially from the results referred to in forward-looking statements. Factors that could cause or contribute to such differences include, but are not limited to, the risks discussed in Part I, Item 1A. &#8220;Risk Factors,&#8221; Part II, Item 7. &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; and other parts of our Annual Report on Form 10-K, filed with the Securities and Exchange Commission on February 24, 2025 and in our other filings that we may make with the Securities and Exchange Commission.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">In light of these risks and uncertainties, there can be no assurance that the results referred to in the forward-looking statements will occur, and you should not place undue reliance on these forward-looking statements. These forward-looking statements speak only as of the date hereof.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">We undertake no obligation to update or review any guidance or other forward-looking statements, whether as a result of new information, future developments or otherwise, except as may be required by the U.S. federal securities laws.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations (&#8220;MD&amp;A&#8221;) is intended to help the reader understand the results of operations and financial condition of Innodata Inc. and its subsidiaries and should be read in conjunction with our unaudited condensed consolidated financial statements and the accompanying notes to condensed consolidated financial statements contained in Part I, Item 1. &#8220;Financial Statements&#8221; of this Report.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Business Overview</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Innodata Inc. (Nasdaq: INOD) (including its subsidiaries, the &#8220;Company,&#8221; &#8220;Innodata,&#8221; &#8220;we,&#8221; &#8220;us&#8221; or &#8220;our&#8221;) is a leading data engineering company. Our mission is to help the world&#8217;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#8220;AI&#8221;), which we believe will contribute to a safer and more prosperous world.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Innodata was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, we believe we are delivering the highest quality data for some of the world&#8217;s most innovative technology companies to use to train the AI models of the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. We believe that we can contribute meaningfully by harnessing our capabilities, honed over 35+ years, in collecting and annotating data at scale with consistency and high accuracy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that our customers&#8217; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We developed our capabilities and honed our approaches progressively over the last 35+ years creating high-quality data for many of the world&#8217;s most demanding information companies. Approximately nine years ago, we formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to our large-scale, human-intensive data operations. In 2019, we began packaging the capabilities that emerged from our R&amp;D efforts in order to align with several fast-growing new markets and help companies use AI and machine learning (&#8220;ML&#8221;) to drive performance benefits and business insights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our historical core competency in high-quality data, combined with these R&amp;D efforts in applied AI, created the foundation for the evolution of our offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">AI Data Preparation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For several of the world&#8217;s large technology companies, we support their efforts at building generative AI foundation models. For these companies, we provide or are poised to provide a range of scaled data solutions and services. Our scaled data solutions include providing instruction data sets for fine-tuning large language models (&#8220;LLMs&#8221;) to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. We also provide reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For social media companies, financial services companies, and many others, we collect or create training data, annotate training data, and train AI algorithms for working with images, text, video, audio, code and sensor data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We utilize a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, we use our proprietary data annotation platform that incorporates AI to reduce costs while improving consistency and quality of output. Our proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. The platform encapsulates many of the innovations we conceived of in the course of our 35+ year history of creating high-quality data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In addition, because collecting real-world data is often impracticable (due to data privacy regulations or the rarity of cohorts and outliers), we create high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage LLMs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">AI Model Deployment and Integration</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We help businesses leverage the latest AI technologies to achieve their goals. We develop custom AI models (where we select the appropriate algorithms, tune hyperparameters, train and validate the models, and update the models as required). We also help businesses fine-tune their own custom versions of our proprietary models and third-party foundation models to address domain-specific and customer-specific use cases.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For our customers that provide products and solutions that require intensive text data processing and analytics, in addition to deploying and integrating AI models, we often provide a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns of our AI solutions and platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">AI-Enabled Industry Platforms</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our AI-enabled industry platforms address specific, niche market requirements we believe we can innovate with AI/ML technologies. We deploy these industry platforms as software-as-a-service (&#8220;SaaS&#8221;) and as managed services. These platforms benefit from our technology infrastructure, our industry-specific knowledge, our strong customer relationships and experience merging technology with the business processes of our customers. To date, we have built an industry platform for medical records data extraction and transformation (which we brand as &#8220;Synodex<sup style="font-size:7.5pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;">&#174;</sup>&#8221;) and an industry platform for public relations (which we brand as &#8220;Agility PR Solutions&#8221;). We are in the development with an additional AI-enabled industry platform to serve financial services institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our Synodex industry platform transforms medical records into useable digital data organized in accordance with our proprietary data models or customer data models. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our operations are presently classified and reported in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Prevailing Economic Conditions and Seasonality </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Prevailing Economic Conditions</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">With the current level of demand for our services, we believe we have existing cash and cash equivalents that provide sufficient sources of liquidity to satisfy our financial needs for at least the next 12 months from the date of the filing of this Report (refer to Item 2. &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations &#8211; Liquidity and Capital Resources&#8221; for additional information). In the event we experience a significant or prolonged reduction in revenues, we would seek to manage our liquidity by utilizing the Revolving Credit Facility, reducing capital expenditures, deferring investment activities, and reducing operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Seasonality</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our quarterly operating results are subject to certain fluctuations. We experience fluctuations in our revenue and earnings as we replace and begin new projects, which may have some normal start-up delays, or we may be unable to replace a project entirely. These and other factors may contribute to fluctuations in our operating results from quarter to quarter. In addition, as some of our Asian facilities are closed during holidays in the fourth quarter, we typically incur higher wages, due to overtime, that reduce our margins. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our Synodex subsidiary experiences seasonal fluctuations in revenues. Typically, revenue is lowest in the third quarter of the calendar year and highest in the fourth quarter of the calendar year. The seasonality is directly linked to the number of life insurance applications received by the insurance companies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For further information, refer to the risk factor titled &#8220;Quarterly fluctuations in our revenues and results of operations could make financial forecasting difficult and could negatively affect our stock price.&#8221; in Part I, Item 1A. &#8220;Risk Factors&#8221; of our Annual Report on Form 10-K for the year ended December 31, 2024.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Non-GAAP Financial Measures</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In addition to the financial information prepared in conformity with U.S. GAAP (&#8220;GAAP&#8221;), we provide certain non-GAAP financial information. We believe that these non-GAAP financial measures assist investors in making comparisons of period-to-period operating results. In some respects, management believes non-GAAP financial measures are more indicative of our ongoing core operating performance than their GAAP equivalents by making adjustments that management believes are reflective of the ongoing performance of the business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We believe that the presentation of this non-GAAP financial information provides investors with greater transparency by providing investors a more complete understanding of our financial performance, competitive position, and prospects for the future, particularly by providing the same information that management and our Board of Directors use to evaluate our performance and manage the business. However, the non-GAAP financial measures presented in this Quarterly Report on Form 10-Q have certain limitations in that they do not reflect all of the costs associated with the operations of our business as determined in accordance with GAAP. Therefore, investors should consider non-GAAP financial measures in addition to, and not as a substitute for, or as superior to, measures of financial performance prepared in accordance with GAAP. Further, the non-GAAP financial measures that we present may differ from similar non-GAAP financial measures used by other companies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Adjusted Gross Profit and Adjusted Gross Margin</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We define Adjusted Gross Profit as revenues less direct operating costs attributable to Innodata Inc. and its subsidiaries in accordance with U.S. GAAP, plus depreciation and amortization of intangible assets, stock-based compensation, non-recurring severance and other one-time costs<span style="font-size:11pt;"> </span>included within direct operating cost. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We define Adjusted Gross Margin by dividing Adjusted Gross Profit over total U.S. GAAP revenues. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We use Adjusted Gross Profit and Adjusted Gross Margin to evaluate results of operations and trends between fiscal periods and believe that these measures are important components of our internal performance measurement process. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table contains a reconciliation of Gross Profit and Gross Margin in accordance with the U.S. GAAP attributable to Innodata Inc. and its subsidiaries to Adjusted Gross Profit and Adjusted Gross Margin for the three-month periods ended March 31, 2025 and 2024 (in thousands).</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Consolidated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Gross Profit attributable to Innodata Inc. and Subsidiaries</span></p></td><td style="vertical-align:bottom;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 23,252</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 9,635</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;">Depreciation and amortization</span></p></td><td style="vertical-align:bottom;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 1,544</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 1,240</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 427</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 84</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Adjusted Gross Profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 25,223</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 10,959</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;"> </span><span style="color:#242424;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 40</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted Gross Margin</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 43</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 41</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">DDS Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Gross Profit attributable to DDS Segment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 19,729</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 6,558</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;">Depreciation and amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 714</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 338</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 416</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 74</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Adjusted Gross Profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 20,859</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 6,970</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 39</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted Gross Margin</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 41</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 35</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Synodex Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Gross Profit attributable to Synodex Segment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 552</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 399</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;">Depreciation and amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 87</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 137</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Adjusted Gross Profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 639</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 536</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 27</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 21</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted Gross Margin</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 32</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 29</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Agility Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Gross Profit attributable to Agility Segment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 2,971</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 2,678</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;">Depreciation and amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 743</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 765</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 10</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Adjusted Gross Profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 3,725</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 3,453</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 6pt;"><span style="color:#242424;font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 55</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 54</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted Gross Margin</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 68</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 70</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%<span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Adjusted EBITDA</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We define Adjusted EBITDA as net income (loss) attributable to Innodata Inc. and its subsidiaries in accordance with U.S. GAAP before net interest expense (income), income taxes, depreciation and amortization of intangible assets (which derives EBITDA), plus additional adjustments for loss on impairment of intangible assets and goodwill, stock-based compensation, income (loss) attributable to non-controlling interests, non-recurring severance, and other one-time costs. We use Adjusted EBITDA to evaluate core results of operations and trends between fiscal periods and believe that these measures are important components of our internal performance measurement process.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table contains a reconciliation of U.S. GAAP net income (loss) attributable to Innodata Inc. and its subsidiaries to Adjusted EBITDA for the three -month periods ended March 31, 2025 and 2024 (in thousands).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><span style="font-size:12pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Consolidated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to Innodata Inc. and Subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 7,787</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 989</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 612</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 424</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Interest (income) expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> (127)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 68</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 1,563</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 1,266</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 2,881</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 1,034</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted EBITDA - Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 12,716</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 3,782</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><span style="font-size:12pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">DDS Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to DDS Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 7,675</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 426</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 587</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 421</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Interest (income) expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> (127)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 67</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 733</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 364</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 2,676</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 895</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted EBITDA - DDS Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 11,544</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 2,174</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><span style="font-size:12pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:63.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three&#160;Months&#160;Ended&#160;March 31,</b></p></td></tr><tr><td style="vertical-align:top;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Synodex Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:top;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net income attributable to Synodex Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 266</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 276</span></p></td></tr><tr><td style="vertical-align:top;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 87</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 137</span></p></td></tr><tr><td style="vertical-align:top;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 65</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 49</span></p></td></tr><tr><td style="vertical-align:top;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted EBITDA - Synodex Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 418</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 462</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><span style="font-size:12pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:34.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Agility Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net income (loss) attributable to Agility Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> (154)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 287</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 25</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 3</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 743</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 765</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 140</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 90</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted EBITDA - Agility Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 754</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> 1,146</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Results of Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The amounts in the MD&amp;A below have been rounded. All percentages have been calculated using rounded amounts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, 2025 and 2024</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Revenues</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Total revenues were $58.3 million and $26.5 million for the three months ended March 31, 2025 and 2024, respectively, an increase of $31.8 million or approximately 120%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Revenues from the DDS segment were $50.8 million and $19.7 million for the three months ended March 31, 2025 and 2024, respectively, an increase of $31.1 million or approximately 158%. The increase was primarily attributable to higher volume from an existing customer.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Revenues from the Synodex segment were $2.0 million and $1.9 million for the three months ended March 31, 2025 and 2024, respectively, an increase of $0.1 million or 5%. The increase was primarily attributable to higher volume from existing customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;"> </span>Revenues from the Agility segment were $5.5 million and $4.9 million for the three months ended March 31, 2025 and 2024, respectively, an increase of $0.6 million or approximately 12%. The increase was principally attributable to higher volumes from subscriptions to our Agility AI-enabled industry platform.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">One customer in the DDS segment generated approximately 61% and 24% of the Company&#8217;s total revenues for the three months ended March 31, 2025 and 2024, respectively. No other customer accounted for 10% or more of total revenues during these periods. Further, revenues from non-U.S. customers accounted for 16% and 33% of the Company&#8217;s total revenues for the three months ended March 31, 2025 and 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Direct Operating Costs</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, recruitment costs and other direct expenses that are incurred in providing services to our customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct operating costs were $35.1 million and $16.9 million for the three months ended March 31, 2025 and 2024, respectively, an increase of $18.2 million or 108%. The cost increase was primarily due to increased headcount to support higher volumes from an existing customer. The increase in direct operating costs includes $15.4 million from direct and indirect labor related costs primarily on account of new hires and higher incentives; higher recruitment fees of $1.4 million; higher cloud service subscriptions of $0.4 million; higher depreciation and amortization of capitalized developed software of $0.3 million; an unfavorable impact of foreign exchange rate fluctuations of $0.2 million; higher content costs of $0.1 million and an increase in other direct operating costs of $0.4 million. Direct operating costs as a percentage of total revenues were 60% and 64% for the three months ended March 31, 2025 and 2024, respectively. The decrease in direct operating cost as a percentage of total revenues was primarily due to higher revenues in all segments, offset in part by higher direct operating costs in the DDS and Agility segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct operating costs for the DDS segment were $31.1 million and $13.2 million for the three months ended March 31, 2025 and 2024, respectively, an increase of $17.9 million or 136%. The increase in direct operating costs includes $15.4 million from direct and indirect labor related costs primarily on account of new hires and higher incentives; higher recruitment fees of $1.4 million; higher depreciation and amortization of capitalized developed software of $0.4 million; higher cloud service subscriptions of $0.3 million; an unfavorable impact of foreign exchange rate fluctuations of $0.2 million; and an increase in other direct operating costs of $0.2 million. Direct operating costs for the DDS segment as a percentage of DDS segment revenues were 61% and 67% for the three months ended March 31, 2025 and 2024, respectively. The decrease in direct operating costs of the DDS segment as a percentage of DDS segment revenues was primarily attributable to higher revenues, offset in part by higher direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct operating costs for the Synodex segment were $1.5 million for each of the three-month periods ended March 31, 2025 and 2024. Direct operating costs for the Synodex segment as a percentage of Synodex segment revenues were 75% and 79% for the three months ended March 31, 2025 and 2024, respectively. The decrease in direct operating costs of the Synodex segment as a percentage of Synodex segment revenues was due to higher revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct operating costs for the Agility segment were $2.5 million and $2.2 million for the three months ended March 31, 2025 and 2024, respectively, an increase of $0.3 million or 14%. The increase in direct operating costs was a result of higher content costs of $0.1 million and an increase in other direct operating costs of $0.2 million. Direct operating costs for the Agility segment as a percentage of Agility segment revenues were 45% for the each of the three-month periods ended March 31, 2025 and 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Gross Profit and Gross Margin</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Gross profit is derived by revenues less direct operating costs, while the Gross margin percentage is derived by dividing gross profit over revenues.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 11pt 0pt;">Gross profit was $23.2 million and $9.6 million for the three months ended March 31, 2025 and 2024, respectively. The $13.6 million increase in gross profit was primarily due to higher revenues in all segments, offset in part by higher direct operating costs in the DDS and Agility segments. Gross margin was 40% and 36% for the three months ended March 31, 2025 and 2024, respectively. The increase in gross margin was primarily due to higher revenues in all segments, offset in part by higher direct operating costs in the DDS and Agility segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 11pt 0pt;">Gross profit for the DDS segment was $19.7 million and $6.6 million for the three months ended March 31, 2025 and 2024, respectively. The $13.1 million increase in gross profit for the DDS segment was primarily due to higher revenues, offset in part by higher direct operating costs. Gross margin for the DDS segment was 39% and 33% for the three months ended March 31, 2025 and 2024, respectively. The increase in gross margin for the DDS segment as a percentage of revenues was primarily due to higher revenues, offset in part by higher direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 11pt 0pt;">Gross profit for the Synodex segment was $0.5 million and $0.4 million for the three months ended March 31, 2025 and 2024, respectively. The $0.1 million increase in gross profit for the Synodex segment was primarily due to higher revenues. Gross margin for the Synodex segment was 27% and 21% for the three months ended March 31, 2025 and 2024, respectively. The increase in gross margin for the Synodex segment as a percentage of revenues was primarily due to higher revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 11pt 0pt;">Gross profit for the Agility segment was $3.0 million and $2.7 million for the three months ended March 31, 2025 and 2024, respectively. The $0.3 million increase in gross profit for the Agility segment was primarily due to higher revenues, offset in part by higher direct operating costs. Gross margin for the Agility segment was 55% and 54% for the three months ended March 31, 2025 and 2024, respectively. The increase in gross margin for the Agility segment as a percentage of revenues was primarily due to higher revenues, offset in part by higher direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 11pt 0pt;"><i style="font-style:italic;">Selling and Administrative Expenses</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 11pt 0pt;">Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses; software subscriptions; professional and consultant fees; provision for credit losses; and other administrative overhead expenses. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 11pt 0pt;">Selling and administrative expenses were $15.0 million and $8.3 million for the three months ended March 31, 2025 and 2024, respectively, an increase of $6.7 million or 81%. The increase in selling and administrative expenses was primarily due to higher expenses associated with the increase in revenues. The increase in selling and administrative expenses includes higher selling and administrative payroll and related expenses of $3.8 million, primarily on account of new hires, salary increases, incentives and bonuses; higher professional fees of $2.4 million; higher expenses for marketing related activities of $0.3 million; higher subscriptions of $0.3 million; offset in part by a decrease in other selling and administrative expenses of $0.1 million. Selling and administrative expenses as a percentage of total revenues were 26% and 31% for the three months ended March 31, 2025 and 2024, respectively. The decrease in selling and administrative expenses as a percentage of total revenues was primarily attributable to higher revenues in all segments, offset in part by higher selling and administrative expenses in all segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 11pt 0pt;">Selling and administrative expenses for the DDS segment were $11.6 million and $5.8 million for the three months ended March 31, 2025 and 2024, respectively, an increase of $5.8 million or 100%. The increase in selling and administrative expenses was primarily due to higher expenses associated with the increase in revenues. The increase in selling and administrative expenses includes higher selling and administrative payroll and related expenses of $3.1 million, primarily on account of new hires, salary increases, incentives and bonuses; higher professional fees of $2.2 million; higher expenses for marketing related activities of $0.3 million; higher subscriptions of $0.3 million; offset in part by a decrease in other selling and administrative expenses of $0.1 million. Selling and administrative expenses for the DDS segment as a percentage of DDS segment revenues were 23% and 29% for the three months ended March 31, 2025 and 2024, respectively. The decrease in selling and administrative expenses of the DDS segment as a percentage of DDS segment revenues was primarily attributable to higher revenues, offset in part by higher selling and administrative expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 11pt 0pt;">Selling and administrative expenses for the Synodex segment were $0.3 million and $0.1 million for the three months ended March 31, 2025 and 2024, respectively, an increase of $0.2 million or 200%. The increase in selling and administrative expenses includes selling and administrative labor and related expenses of $0.1 million, primarily on account of incentives and bonuses awarded and an increase in other selling and administrative expenses of $0.1 million. Selling and administrative expenses for the Synodex segment as a percentage of Synodex segment revenues were 15% and 5% for the three months ended March 31, 2025 and 2024, respectively. The increase in selling and administrative expenses of the Synodex segment as a percentage of Synodex segment revenues was primarily attributable due to higher selling and administrative expenses offset in part by higher revenues.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Selling and administrative expenses for the Agility segment were $3.1 million and $2.4 million for the three months ended March 31, 2025 and 2024, respectively, an increase of $0.7 million or 29%. The increase in selling and administrative expenses includes selling and administrative labor and related expenses of $0.6 million, primarily on account of new hires, salary increases, incentives and bonuses awarded; higher professional fees of $0.2 million offset in part by a decrease in other selling and administrative expenses of $0.1 million. Selling and administrative expenses for the Agility segment as a percentage of Agility segment revenues were 56% and 49% for the three months ended March 31, 2025 and 2024, respectively. The increase in selling and administrative expenses of the Agility segment as a percentage of Agility segment revenues was primarily due to higher selling and administrative expenses, offset in part by higher revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Income Taxes</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We recorded a provision for income taxes of $0.6 million and $0.4 million for the three months ended March 31, 2025 and 2024, respectively. (Refer to Note 4 of Notes to Condensed Consolidated Financial Statements for the components of the income tax provision for the three-month periods ended March 31, 2025 and 2024).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Net Income</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Net income was $7.8 million and $1.0 million for the three months ended March 31, 2025 and 2024, respectively. The $6.8 million increase was a result of higher revenue in all segments, offset in part by higher direct operating costs in the DDS and Agility segments and higher selling and administrative expenses in all segments, and a higher income tax provision in the current quarter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Net income for the DDS segment was $7.7 million and $0.4 million for the three months ended March 31, 2025 and 2024, respectively. The $7.3 million increase was primarily attributable to higher revenues, offset in part by higher direct operating costs and selling and administrative expenses, and a higher income tax provision in the current quarter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Net income for the Synodex segment was $0.3 million for each of the three-month periods ended March 31, 2025 and 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Agility segment had a net loss of $0.2 million and a net income of $0.3 million for the three months ended March 31, 2025 and 2024, respectively. The $0.5 million change was due to higher direct operating costs, and higher selling and administrative expenses offset in part by higher revenues in the current quarter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Adjusted Gross Profit and Margin</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Adjusted Gross Profit and Adjusted Gross Margin are non-GAAP financial measures. For a reconciliation of Adjusted Gross Profit and Adjusted Gross Margin to the most directly comparable GAAP measure, please see the description of &#8220;Non-GAAP Financial Measures &#8211; Adjusted Gross Profit and Adjusted Gross Margin&#8221; above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Adjusted gross profit was $25.2 million and $11.0 million for the three months ended March 31, 2025 and 2024, respectively. The $14.2 million increase in adjusted gross profit was primarily due to higher revenues in all segments, offset in part by higher direct operating costs in the DDS and Agility segments. Adjusted gross margin was 43% and 41% for the three months ended March 31, 2025 and 2024, respectively. The increase in adjusted gross margin was primarily due to higher revenues in all segments, offset in part by higher direct operating costs in the DDS and Agility segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Adjusted gross profit for the DDS segment was $20.9 million and $7.0 million for the three months ended March 31, 2025 and 2024, respectively. The $13.9 million increase in adjusted gross profit for the DDS segment was due to higher revenues, offset in part by higher direct operating costs. Adjusted gross margin for the DDS segment was 41% and 35% for the three months ended March 31, 2025 and 2024, respectively. The increase in the adjusted gross margin for the DDS segment as a percentage of revenues was primarily due to higher revenues, offset in part by higher direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Adjusted gross profit for the Synodex segment was $0.6 million and $0.5 million for the three months ended March 31, 2025 and 2024, respectively. The $0.1 million increase in adjusted gross profit in the Synodex segment was due to higher revenues. Adjusted gross margin for the Synodex segment was 32% and 29% for the three months ended March 31, 2025 and 2024, respectively. The increase in the adjusted gross margin for the Synodex segment as a percentage of revenues was primarily due to higher revenues.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Adjusted gross profit for the Agility segment was $3.7 million and $3.5 million for the three months ended March 31, 2025 and 2024, respectively. The $0.2 million increase in adjusted gross profit for the Agility segment was due to higher revenues, offset in part by higher direct operating costs. Adjusted gross margin for the Agility segment was 68% and 70% for the three months ended March 31, 2025 and 2024, respectively. The decrease in the adjusted gross margin for the Agility segment as a percentage of revenues was primarily due to higher revenues, offset in part by higher direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Adjusted EBITDA</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Adjusted EBITDA is a non-GAAP financial measure. For a reconciliation of Adjusted EBITDA to the most directly comparable GAAP measure, please see the description of &#8220;Non-GAAP Financial Measures &#8211; Adjusted EBITDA&#8221; above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Adjusted EBITDA was $12.7 million and $3.8 million for the three months ended March 31, 2025 and 2024, respectively. The $8.9 million increase in Adjusted EBITDA was due to higher net income and higher stock-based compensation and depreciation and amortization, and a higher income tax provision offset in part by lower interest expense in the current quarter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Adjusted EBITDA for the DDS segment was $11.5 million and $2.2 million for the three months ended March 31, 2025 and 2024, respectively. The $9.3 million increase in Adjusted EBITDA in the DDS Segment was due to higher net income and higher stock-based compensation and depreciation and amortization, and a higher income tax provision offset in part by lower interest expense in the current quarter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Adjusted EBITDA for the Synodex segment was $0.4 million and $0.5 million for the three months ended March 31, 2025 and 2024, respectively. The $0.1 million decrease in Adjusted EBITDA in the Synodex segment was due to lower depreciation and amortization in the current quarter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Adjusted EBITDA for the Agility segment was $0.7 million and $1.1 million for the three months ended March 31, 2025 and 2024, respectively. The $0.4 million decrease in Adjusted EBITDA in the Agility segment was due to lower net income in the current quarter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Liquidity and Capital Resources</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Selected measures of liquidity and capital resources, expressed in thousands, were as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 56,556</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46,897</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Working capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 53,214</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 41,494</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">On March 31, 2025, we had cash and cash equivalents of $56.6 million, of which $17.3 million was held by our foreign subsidiaries, and $39.3 million was held in the United States. Despite the passage of the new tax law under which we may repatriate funds from overseas after paying the toll charge, it is our intent, as of March 31, 2025, to indefinitely reinvest the overseas funds in our foreign subsidiaries. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We have used, and plan to use, our cash and cash equivalents for (i) capital investments; (ii) the expansion of our operations; (iii) technology innovation; (iv) product management and strategic marketing; (v) general corporate purposes, including working capital; and (vi) possible business acquisitions. As of March 31, 2025, we had working capital of approximately $53.2 million, as compared to working capital of approximately $41.5 million as of December 31, 2024. The increase in working capital is due to increased collections from higher revenues and proceeds from stock option exercises in the period, offset by capital expenditures during the period to build future capacity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We did not have any material commitments for capital expenditures as of March 31, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We believe that our existing cash and cash equivalents and internally generated funds will provide sufficient sources of liquidity to satisfy our financial needs for at least the next 12 months from the date of this Report. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We maintain a revolving line of credit facility. &#8220;See Note 13, Line of Credit, of the Notes to the Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q, which is incorporated by reference herein&#8221;. </p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">On August 8, 2024, we filed a Registration Statement on Form S-3 (Registration No. 333-281379) (the &#8220;Form S-3&#8221;), as amended on September 16, 2024, and declared effective on October 10, 2024, with the SEC, which includes a base prospectus that allows us to offer and sell, from time to time, in one or more offerings, common stock, preferred stock, debt securities, warrants or units up to an aggregate public offering price of $50.0 million. The Form S-3 is intended to preserve our flexibility to raise capital from time to time, if and when needed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Cash Flows</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Net Cash Provided by Operating Activities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Cash provided by our operating activities for the three months ended March 31, 2025 was $10.9 million resulting from net income of $7.8 million, adjusted for non-cash expenses of $5.0 million and a decrease in working capital of $1.9 million. Refer to the Condensed Consolidated Statements of Cash Flows for further details.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Cash provided by our operating activities for the three months ended March 31, 2024 was $6.8 million resulting from our net income of $1.0 million, adjusted for non-cash expenses of $2.6 million and an increase in working capital of $3.2 million. Refer to the Condensed Consolidated Statements of Cash Flows for further details.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Net Cash Used in Investing Activities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For the three months ended March 31, 2025 and 2024, cash used in our investing activities was $2.4 million and $1.3 million, respectively. These capital expenditures were principally for the purchase of technology equipment including servers, network infrastructure and workstations, and expenditures for capitalized developed software. Capital expenditures for the three months ended March 31, 2025 amounting to $2.4 million consisted of $1.5 million for the DDS segment, $0.6 million for the Agility segment and $0.3 million for the Synodex segment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During the next 12 months, it is anticipated that capital expenditures for capitalized developed software and ongoing technology, equipment and infrastructure upgrades will approximate to $11.0 million, a portion of which we may finance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Net Cash Provided by Financing Activities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Cash provided by financing activities for the three months ended March 31, 2025 was $0.9 million primarily from proceeds of stock option exercises of $1.0 million, offset in part by payment of long-term obligations of $0.1 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Cash used in financing activities for the three months ended March 31, 2024 was primarily used for payments of long-term obligations amounting to $0.3 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Critical Accounting Policies and Estimates</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our discussion and analysis of our results of operations, liquidity and capital resources is based on our condensed consolidated financial statements, which have been prepared in conformity with U.S. GAAP. The preparation of the condensed consolidated financial statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues and expenses, and disclosure of contingent assets and liabilities. On an ongoing basis, we evaluate our estimates and judgments, including those related to revenue recognition, allowance for credit losses and billing adjustments, long-lived assets, intangible assets, goodwill, valuation of deferred tax assets, value of securities underlying stock-based compensation, litigation accruals, pension benefits, valuation of derivative instruments and estimated accruals for various tax exposures. We base our estimates on historical and anticipated results and trends and on various other assumptions that we believe are reasonable under the circumstances, including assumptions as to future events. These estimates form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. By their nature, estimates are subject to an inherent degree of uncertainty. Actual results may differ from our estimates and could have a significant adverse effect on our condensed consolidated results of operations and financial position. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The significant accounting policies used in preparing our condensed consolidated financial statements contained in this Report are the same as those described in the Company&#8217;s Annual Report on Form 10-K, unless otherwise noted, and we believe those critical accounting policies affect our more significant estimates and judgments in the preparation of our condensed consolidated financial statements.</p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Off-Balance Sheet Arrangements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">None.<span style="font-size:11pt;"> </span></p><a id="_dde6d274_d206_4e05_88df_34c341117414"></a><a id="Item3QuantitativeandQualitativeDisclosur"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Item&#160;3.&#160;&#160;Quantitative and Qualitative Disclosures About Market Risk</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Not applicable to smaller reporting companies.</p><a id="_50679ee3_24ab_4c2f_a0f2_12f53e5515a7"></a><a id="Item4ControlsandProcedures_911168"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Item&#160;4.&#160;&#160;Controls and Procedures</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We maintain disclosure controls and procedures (as such term is defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (Exchange Act), that are designed to ensure that information required to be disclosed in the reports we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the Securities and Exchange Commission&#8217;s rules and forms, and that such information is accumulated and communicated to our management, including our principal executive officer and principal financial officer, as appropriate, to allow timely decisions regarding required disclosure. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Under the supervision, and with the participation of our management, including our principal executive officer and our principal financial officer, we conducted an evaluation of the effectiveness of our disclosure controls and procedures, as defined under Exchange Act Rule 13a-15(e), as of March 31, 2025. Based on this evaluation, our principal executive officer and our principal financial officer concluded that, as of March 31, 2025, our disclosure controls and procedures were effective. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There have been no changes in our internal control over financial reporting (as such term is defined in Rules 13a-15(f) or 15d-15(f) under the Exchange Act) during the three months ended March 31, 2025 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_c84a6454_f5d5_4dd9_a024_67edc795d8f8"></a><a id="PARTIIOTHERINFORMATION_397884"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">PART&#160;II.</b>&#160;&#160;&#160;&#160;&#160;&#160;&#160;<b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">OTHER INFORMATION</b></p><a id="Item1LegalProceedings_998786"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Item&#160;1.&#160;&#160;Legal Proceedings</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">See Note 7, Commitments and Contingencies of the Notes to the Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q, which is incorporated by reference herein.</p><a id="_084b8bad_0465_4dbc_8d99_f4a7a91f79ba"></a><a id="Item1ARiskFactors_897710"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Item&#160;1A. Risk Factors</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For information regarding Risk Factors, please refer to Part I, Item 1A. &#8220;Risk Factors&#8221; in our Annual Report on Form 10-K for the year ended December 31, 2024.</p><a id="_787be541_5111_473c_854b_f31756c78a59"></a><a id="Item2UnregisteredSalesofEquitySecurities"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Item&#160;2.&#160;&#160;Unregistered Sales of Equity Securities and Use of Proceeds</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">There were no sales of unregistered equity securities or repurchases of equity securities during the three months ended March 31, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_7068c543_0ee4_402b_bcc1_22ee1db4beb3"></a><a id="Item3DefaultsUponSeniorSecurities_9121"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Item&#160;3.&#160;&#160;Defaults Upon Senior Securities</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_ebffc54b_edef_46e1_8d0e_8477f02da0b6"></a><a id="Item4MineSafetyDisclosures_517737"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Item&#160;4.&#160;&#160;Mine Safety Disclosures</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_77c81d71_6878_4a18_a893_2c8ef3d04adf"></a><a id="Item5OtherInformation_68397"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Item&#160;5.&#160;&#160;Other Information</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Rule 10b5-1 Trading Plans</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">During the quarter ended March 31, 2025, none of the Company&#8217;s </span><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" format="ixt:fixed-false" name="ecd:Rule10b51ArrAdoptedFlag" id="Narr_LtJOoa77D0a-wJZNJYS8Sg"><span style="font-size:10pt;">directors</span></ix:nonNumeric><span style="font-size:10pt;"> or </span><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" format="ixt:fixed-false" name="ecd:NonRule10b51ArrAdoptedFlag" id="Narr_li-dEwN8nUOwx0049sGHFg"><span style="font-size:10pt;">officers</span></ix:nonNumeric><span style="font-size:10pt;"> informed the Company of the </span><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" format="ixt:fixed-false" name="ecd:Rule10b51ArrTrmntdFlag" id="Narr_9nOD3wlCLkuj0trIDA9mbA"><span style="font-size:10pt;">adoption</span></ix:nonNumeric><span style="font-size:10pt;"> or </span><ix:nonNumeric contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw" format="ixt:fixed-false" name="ecd:NonRule10b51ArrTrmntdFlag" id="Narr_Vnx6TVjplUaLQYEERxJWtg"><span style="font-size:10pt;">termination</span></ix:nonNumeric><span style="font-size:10pt;"> of a &#8220;Rule 10b5-1 trading arrangement&#8221; or &#8220;non-Rule 10b5-1 trading arrangement,&#8221; as those terms are defined in Regulation S-K, Item 408.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_fd26d301_094b_4a7e_94f3_d21ebb9465a9"></a><a id="Item6Exhibits_329227"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:0.3pt;"></span><b style="font-size:10pt;font-weight:bold;">Item&#160;6.</b><span style="font-size:10pt;">&#160;&#160;</span><b style="font-size:10pt;font-weight:bold;">Exhibits</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:bottom;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Exhibit&#160;No.</b></p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:89.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Description</b></p></td></tr><tr><td style="vertical-align:bottom;width:9.05%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">31.1*</p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="inod-20250331xex31d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">31.2*</p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="inod-20250331xex31d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">32.1**</p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="inod-20250331xex32d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">32.2**</p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="inod-20250331xex32d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">101</p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following materials from Innodata Inc.&#8217;s Quarterly Report on Form 10-Q for the three months ended March 31, 2025, formatted in Extensible Business Reporting Language (XBRL): (i) Condensed Consolidated Balance Sheets as of March 31, 2025 (unaudited) and December 31, 2024; (ii) Condensed Consolidated Statements of Operations and Comprehensive Income for the three months ended March 31, 2025 and 2024 (unaudited); (iii) Condensed Consolidated Statements of Cash Flows for the three months ended March 31, 2025 and 2024 (unaudited); (iv) Condensed Consolidated Statements of Stockholders&#8217; Equity for the three months ended March 31, 2025 and 2024 and (v) Notes to Condensed Consolidated Financial Statements (unaudited).</p></td></tr><tr><td style="vertical-align:top;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">104</p></td><td style="vertical-align:top;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:89.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Cover Page Interactive Data File, formatted in iXBRL and contained in Exhibit 101.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">*</span></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">Filed herewith.</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">**</span></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">In accordance with SEC Release 33-8238, Exhibits 32.1 and 32.2 are being furnished and not filed. </span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">37</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;margin-left:-10.0pt;margin-right:-10.0pt;max-width:100%;position:relative;width:calc(100% + 20.0pt);"><div style="padding-left:10pt;padding-right:10pt;position:relative;width:100%;"><a id="_372b7484_e034_4405_a84a_69f6fccbccae"></a><a id="signature"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:center;margin:0pt 0pt 10pt 0pt;">SIGNATURES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">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;text-align:justify;text-indent:0pt;margin:0pt;">INNODATA&#160;INC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td colspan="2" style="vertical-align:bottom;width:48.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:top;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:bottom;width:48.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:17.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 72pt;">Date:</p></td><td style="vertical-align:bottom;width:31.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 8, 2025</p></td><td style="vertical-align:top;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;width:48.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">/s/ Jack S. Abuhoff</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:48.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:48.89%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Jack S. Abuhoff</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:48.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:48.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Chief Executive Officer and President</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:48.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:48.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:48.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:48.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:17.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 72pt;">Date:</p></td><td style="vertical-align:bottom;width:31.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 8, 2025</p></td><td style="vertical-align:top;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:48.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">/s/ Marissa B. Espineli</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:48.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:48.89%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Marissa B. Espineli</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:48.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:48.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Interim Chief Financial Officer</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:48.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:48.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">(Principal Financial Officer and Principal Accounting Officer)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">38</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border:0;"></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>inod-20250331xex31d1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.10.0.134--><!--Created on: 5/7/2025 10:51:04 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 31.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">CERTIFICATION OF THE PRINCIPAL EXECUTIVE OFFICER</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">I, Jack S. Abuhoff, certify that:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">1.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">I have reviewed this quarterly report on Form 10-Q of Innodata Inc.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">2.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">3.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">4.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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:</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">a)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">b)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">c)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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;&#160;and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">d)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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 that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">5.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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 function):</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">a)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">b)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Dated:&#160;&#160;May 8, 2025</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">/s/ Jack S. Abuhoff</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Jack S. Abuhoff</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Chief Executive Officer and President</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>inod-20250331xex31d2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.10.0.134--><!--Created on: 5/7/2025 10:51:04 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 31.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">CERTIFICATION OF THE PRINCIPAL FINANCIAL OFFICER</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">I, Marissa B. Espineli, certify that:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:72pt;text-align:justify;text-indent:-72pt;margin:0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">1.</font></font><font style="font-size:11pt;">I have reviewed this quarterly report on Form 10-Q of Innodata Inc.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">2.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">3.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">4.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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:</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">a)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">b)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">c)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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;&#160;and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">d)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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 that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">5.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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 function):</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">a)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">b)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">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.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Dated:&#160;&#160;May 8, 2025</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">/s/ Marissa B. Espineli</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Marissa B. Espineli</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Interim Chief Financial Officer</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>inod-20250331xex32d1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.10.0.134--><!--Created on: 5/7/2025 10:51:04 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 32.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">CERTIFICATION OF THE PRINCIPAL EXECUTIVE OFFICER</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">18 U.S.C. SECTION 1350,</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">AS ADOPTED PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><font style="font-size:11pt;">In connection with the Quarterly Report of Innodata Inc. (the &#8220;Company&#8221;) on Form&#160;10-Q for the quarter ended March 31, 2025, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Jack S. Abuhoff, Chief Executive Officer and President of the Company, hereby certify, pursuant to 18 U.S.C. &#167;1350, as adopted pursuant to &#167;906 of the Sarbanes-Oxley Act of 2002, that to the best of my knowledge:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">1.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">2.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">/s/ Jack S. Abuhoff</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Jack S. Abuhoff</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Chief Executive Officer and President</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">May 8, 2025</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>5
<FILENAME>inod-20250331xex32d2.htm
<DESCRIPTION>EX-32.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.10.0.134--><!--Created on: 5/7/2025 10:51:04 PM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;text-indent:9pt;margin:0pt 0pt 0pt 351pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 32.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">CERTIFICATION OF THE PRINCIPAL FINANCIAL OFFICER</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">18 U.S.C. SECTION 1350,</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">AS ADOPTED PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><font style="font-size:11pt;">In connection with the Quarterly Report of Innodata Inc. (the &#8220;Company&#8221;) on Form&#160;10-Q for the quarter ended March 31, 2025, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Marissa B. Espineli, Interim Chief Financial Officer of the Company, hereby certify, pursuant to 18 U.S.C. &#167;1350, as adopted pursuant to &#167;906 of the Sarbanes-Oxley Act of 2002, that to the best of my knowledge:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">1.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">2.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">/s/ Marissa B. Espineli</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Marissa B. Espineli</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Interim Chief Financial Officer</font></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">May 8, 2025</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>inod-20250331.xsd
<DESCRIPTION>EX-101.SCH
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.10.0.1 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/7/2025 10:51:25 PM-->
<!--Modified on: 5/7/2025 10:51:25 PM-->
<xsd:schema xmlns:us-types="http://fasb.org/us-types/2024" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:srt="http://fasb.org/srt/2024" xmlns:naics="http://xbrl.sec.gov/naics/2024" xmlns:currency="http://xbrl.sec.gov/currency/2024" targetNamespace="http://www.innodata-isogen.com/20250331" elementFormDefault="qualified" xmlns:srt-types="http://fasb.org/srt-types/2024" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:inod="http://www.innodata-isogen.com/20250331" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:us-roles="http://fasb.org/us-roles/2024" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:srt-roles="http://fasb.org/srt-roles/2024" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:attributeFormDefault="unqualified" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:deprecated="http://www.xbrl.org/2009/role/deprecated" xmlns:net="http://www.xbrl.org/2009/role/net" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:dtr="http://www.xbrl.org/2009/dtr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:us-gaap-ebp="http://fasb.org/us-gaap-ebp/2024" xmlns:cyd-af-sub="http://xbrl.sec.gov/cyd-af-sub/2024" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:ecd-sub="http://xbrl.sec.gov/ecd-sub/2024">
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStandardAndCustomAxisDomainDefaults" id="DisclosureStandardAndCustomAxisDomainDefaults">
        <link:definition>99900 - Disclosure - Standard And Custom Axis Domain Defaults</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets" id="StatementCondensedConsolidatedBalanceSheets">
        <link:definition>995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" id="StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2">
        <link:definition>00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS) - Calc 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" id="StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome">
        <link:definition>995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" id="StatementCondensedConsolidatedStatementsOfCashFlows">
        <link:definition>995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" id="DisclosureAccountsReceivableDetails">
        <link:definition>99940201 - Disclosure - Accounts Receivable (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" id="DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails">
        <link:definition>99940303 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" id="DisclosureIncomeTaxesTaxRateReconciliationDetails">
        <link:definition>99940401 - Disclosure - Income Taxes - Tax rate reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" id="DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails">
        <link:definition>99940503 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" id="DisclosureLongTermObligationsDetails">
        <link:definition>99940601 - Disclosure - Long-term obligations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2" id="DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2">
        <link:definition>40603 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details) Calc 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2" id="DisclosureLongTermObligationsDetailsCalc2">
        <link:definition>40702 - Disclosure - Long-term obligations (Details) Calc 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails" id="DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails">
        <link:definition>99940801 - Disclosure - Stock Options and Restricted Stock Units - Stock-Based Compensation Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" id="DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails">
        <link:definition>99941002 - Disclosure - Segment reporting and concentrations- Significant income statement (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails" id="DisclosureIncomePerShareDetails">
        <link:definition>99941101 - Disclosure - Income Per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation">
        <link:definition>995200090 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" id="StatementCondensedConsolidatedBalanceSheetsParenthetical">
        <link:definition>995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" id="StatementCondensedConsolidatedStatementsOfStockholdersEquity">
        <link:definition>995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables" id="DisclosureStockOptionsAndRestrictedStockUnitsTables">
        <link:definition>99930803 - Disclosure - Stock Options and Restricted Stock Units (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails">
        <link:definition>99940101 - Disclosure - Summary of Significant Accounting Policies and Estimates (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" id="DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails">
        <link:definition>99940301 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" id="DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails">
        <link:definition>99940302 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" id="DisclosureGoodwillAndIntangibleAssetsDetails">
        <link:definition>99940304 - Disclosure - Goodwill and Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" id="DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails">
        <link:definition>99940402 - Disclosure - Income Taxes - Unrecognized tax benefits (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" id="DisclosureOperatingLeasesDetails">
        <link:definition>99940501 - Disclosure - Operating Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" id="DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails">
        <link:definition>99940502 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails" id="DisclosureCommitmentsAndContingenciesDetails">
        <link:definition>99940701 - Disclosure - Commitments and Contingencies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails" id="DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails">
        <link:definition>99940802 - Disclosure - Stock Options and Restricted Stock Units - Summary of Stock Option Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails" id="DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails">
        <link:definition>99940803 - Disclosure - Stock Options and Restricted Stock Units - Summary of Restricted Stock Unit activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails" id="DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails">
        <link:definition>99940804 - Disclosure - Stock Options and Restricted Stock Units - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" id="DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails">
        <link:definition>99940901 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails" id="DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails">
        <link:definition>99941001 - Disclosure - Segment reporting and concentrations - Segment assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" id="DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails">
        <link:definition>99941003 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails" id="DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails">
        <link:definition>99941004 - Disclosure - Segment reporting and concentrations - Long-lived assets by geographic region (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" id="DisclosureSegmentReportingAndConcentrationsDetails">
        <link:definition>99941005 - Disclosure - Segment reporting and concentrations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails" id="DisclosureIncomePerShareAdditionalInformationDetails">
        <link:definition>99941102 - Disclosure - Income Per Share - Additional information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails" id="DisclosureDerivativesAdditionalInformationDetails">
        <link:definition>99941201 - Disclosure - Derivatives - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" id="DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails">
        <link:definition>99941202 - Disclosure - Derivatives - Fair value of derivative instruments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" id="DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails">
        <link:definition>99941203 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" id="DisclosureLineOfCreditDetails">
        <link:definition>99941301 - Disclosure - Line Of Credit (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimates" id="DisclosureSummaryOfSignificantAccountingPoliciesAndEstimates">
        <link:definition>995210101 - Disclosure - Summary of Significant Accounting Policies and Estimates</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivable" id="DisclosureAccountsReceivable">
        <link:definition>995210201 - Disclosure - Accounts Receivable</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets" id="DisclosureGoodwillAndIntangibleAssets">
        <link:definition>995210301 - Disclosure - Goodwill and Intangible Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes">
        <link:definition>995210401 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeases" id="DisclosureOperatingLeases">
        <link:definition>995210501 - Disclosure - Operating Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligations" id="DisclosureLongTermObligations">
        <link:definition>995210601 - Disclosure - Long-term obligations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies" id="DisclosureCommitmentsAndContingencies">
        <link:definition>995210701 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnits" id="DisclosureStockOptionsAndRestrictedStockUnits">
        <link:definition>995210801 - Disclosure - Stock Options and Restricted Stock Units</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss" id="DisclosureComprehensiveLoss">
        <link:definition>995210901 - Disclosure - Comprehensive loss</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations" id="DisclosureSegmentReportingAndConcentrations">
        <link:definition>995211001 - Disclosure - Segment reporting and concentrations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomePerShare" id="DisclosureIncomePerShare">
        <link:definition>995211101 - Disclosure - Income Per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivatives" id="DisclosureDerivatives">
        <link:definition>995211201 - Disclosure - Derivatives</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCredit" id="DisclosureLineOfCredit">
        <link:definition>995211301 - Disclosure - Line of Credit</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies" id="DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies">
        <link:definition>99920102 - Disclosure - Summary of Significant Accounting Policies and Estimates (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesTables" id="DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesTables">
        <link:definition>99930103 - Disclosure - Summary of Significant Accounting Policies and Estimates (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables" id="DisclosureAccountsReceivableTables">
        <link:definition>99930203 - Disclosure - Accounts Receivable (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables" id="DisclosureGoodwillAndIntangibleAssetsTables">
        <link:definition>99930303 - Disclosure - Goodwill and Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables" id="DisclosureIncomeTaxesTables">
        <link:definition>99930403 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables" id="DisclosureOperatingLeasesTables">
        <link:definition>99930503 - Disclosure - Operating Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables" id="DisclosureLongTermObligationsTables">
        <link:definition>99930603 - Disclosure - Long-term obligations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables" id="DisclosureComprehensiveLossTables">
        <link:definition>99930903 - Disclosure - Comprehensive loss (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables" id="DisclosureSegmentReportingAndConcentrationsTables">
        <link:definition>99931003 - Disclosure - Segment reporting and concentrations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomePerShareTables" id="DisclosureIncomePerShareTables">
        <link:definition>99931103 - Disclosure - Income Per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesTables" id="DisclosureDerivativesTables">
        <link:definition>99931303 - Disclosure - Derivatives (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueBalancesDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueBalancesDetails">
        <link:definition>99940102 - Disclosure - Summary of Significant Accounting Policies and Estimates - Deferred revenue balances (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueDetails">
        <link:definition>99940103 - Disclosure - Summary of Significant Accounting Policies and Estimates - Deferred revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" id="DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails">
        <link:definition>99940202 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" id="DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails">
        <link:definition>99940504 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20250331_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20250331_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20250331_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20250331_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:import namespace="https://xbrl.org/2023/calculation-1.1" schemaLocation="https://www.xbrl.org/2023/calculation-1.1.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/ecd/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/dei/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd" />
  <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.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd" />
  <xsd:import namespace="http://fasb.org/us-gaap/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" />
  <xsd:import namespace="http://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2024" schemaLocation="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/ecd-sub/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd" />
  <xsd:element id="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" name="ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" name="ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" id="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" id="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SubsidiaryAxis" id="inod_SubsidiaryAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="NameOfSubsidiaryDomain" id="inod_NameOfSubsidiaryDomain" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SynodexMember" id="inod_SynodexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxesLineItems" id="inod_IncomeTaxesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" name="EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" name="UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="inod_InterestRateDescriptionLitigation" name="InterestRateDescriptionLitigation" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="LongTermOperatingLeaseMember" id="inod_LongTermOperatingLeaseMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShortTermOperatingLeaseMember" id="inod_ShortTermOperatingLeaseMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="inod_PercentageOfRentalEscalations" name="PercentageOfRentalEscalations" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="LongTermObligationsAbstract" id="inod_LongTermObligationsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MicrosoftLicensesObligations" id="inod_MicrosoftLicensesObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="DdsMember" id="inod_DdsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AgilityMember" id="inod_AgilityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ReportableSegmentDisclosureAxis" id="inod_ReportableSegmentDisclosureAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ReportableSegmentDisclosureDomain" id="inod_ReportableSegmentDisclosureDomain" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherPrincipallyEuropeMember" id="inod_OtherPrincipallyEuropeMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AllCountriesAxis" id="inod_AllCountriesAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ForeignCountriesMember" id="inod_ForeignCountriesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ForeignCustomerMember" id="inod_ForeignCustomerMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ClientMember" id="inod_ClientMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfEarningsPerShareBasicAndDilutedTable" id="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="inod_IncomeTaxesTable" name="IncomeTaxesTable" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" name="TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="inod_TwoThousandThirteenStockPlanMember" name="TwoThousandThirteenStockPlanMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" name="EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_NumberOfClient" name="NumberOfClient" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_OneClientMember" name="OneClientMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" name="FiniteLivedIntangibleAssetExpectedAmortizationThereafter" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" abstract="false" />
  <xsd:element id="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" name="LesseeOperatingLeaseLiabilityToBePaidThereafter" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" name="EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" name="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="CapitalizedSoftwareDevelopmentCostWorkInProgressMember" id="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CapitalizedSoftwareDevelopmentCostMember" id="inod_CapitalizedSoftwareDevelopmentCostMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EquityPlansMember" id="inod_EquityPlansMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="TwoThousandTwentyOneEquityCompensationPlanMember" id="inod_TwoThousandTwentyOneEquityCompensationPlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="StockOptionsTable" id="inod_StockOptionsTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="StockOptionsLineItems" id="inod_StockOptionsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LongTermObligationsDisclosureTextBlock" id="inod_LongTermObligationsDisclosureTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="LongTermObligationsDisclosureTableTextBlock" id="inod_LongTermObligationsDisclosureTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="TotalLongTermObligations" id="inod_TotalLongTermObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="CurrentPortionOfLongTermObligations" id="inod_CurrentPortionOfLongTermObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="NoncurrentPortionOfLongTermObligations" id="inod_NoncurrentPortionOfLongTermObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LicensesObligationsAmountPayableAnnually" id="inod_LicensesObligationsAmountPayableAnnually" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="AcquiredIntangibleAssetsMember" id="inod_AcquiredIntangibleAssetsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" id="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" id="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" id="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="TwoClientMember" id="inod_TwoClientMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationSection162Percentage" id="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" id="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" id="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LineOfCreditFacilityBorrowingBase" id="inod_LineOfCreditFacilityBorrowingBase" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="NonEmployeeMember" id="inod_NonEmployeeMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AllowanceForDoubtfulAccountsBillingAdjustment" id="inod_AllowanceForDoubtfulAccountsBillingAdjustment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>inod-20250331_cal.xml
<DESCRIPTION>EX-101.CAL
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.10.0.1 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/7/2025 10:51:25 PM-->
<!--Modified on: 5/7/2025 10:51:25 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#StatementCondensedConsolidatedBalanceSheets" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#StatementCondensedConsolidatedStatementsOfCashFlows" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureAccountsReceivableDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomeTaxesTaxRateReconciliationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureLongTermObligationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureLongTermObligationsDetailsCalc2" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomePerShareDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails" />
  <link:arcroleRef arcroleURI="https://xbrl.org/2023/arcrole/summation-item" xlink:type="simple" xlink:href="https://www.xbrl.org/2023/calculation-1.1.xsd#summation-item" />
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets" xlink:type="extended" xlink:title="995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638822550829344675" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent_638822550829344675" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638822550829344675" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638822550829344675" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638822550829344675" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638822550829344675" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638822550829344675" xlink:to="us-gaap_AccountsReceivableNetCurrent_638822550829344675" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638822550829344675" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638822550829344675" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638822550829344675" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638822550829344675" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638822550829344675" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638822550829354672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638822550829354672" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638822550829354672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638822550829354672" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638822550829354672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638822550829354672" order="5" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638822550829354672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638822550829354672" order="6" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638822550829354672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_Goodwill_638822550829354672" order="7" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638822550829354672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638822550829354672" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_638822550829364672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638822550829354672" xlink:to="us-gaap_MinorityInterest_638822550829364672" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638822550829364672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638822550829354672" xlink:to="us-gaap_StockholdersEquity_638822550829364672" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_638822550829364672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638822550829364672" xlink:to="us-gaap_StockholdersEquityBeforeTreasuryStock_638822550829364672" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638822550829364672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638822550829364672" xlink:to="us-gaap_PreferredStockValue_638822550829364672" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638822550829364672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638822550829364672" xlink:to="us-gaap_CommonStockValue_638822550829364672" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital_638822550829364672" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638822550829364672" xlink:to="us-gaap_AdditionalPaidInCapital_638822550829364672" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638822550829374688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638822550829364672" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638822550829374688" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638822550829374688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638822550829364672" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638822550829374688" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_638822550829374688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638822550829364672" xlink:to="us-gaap_TreasuryStockValue_638822550829374688" order="2" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638822550829374688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638822550829374688" order="2" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638822550829384688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638822550829374688" xlink:to="us-gaap_LiabilitiesCurrent_638822550829384688" order="1" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_638822550829394692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638822550829384688" xlink:to="us-gaap_AccountsPayableCurrent_638822550829394692" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_638822550829394692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638822550829384688" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638822550829394692" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_638822550829394692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638822550829384688" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_638822550829394692" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638822550829404688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638822550829384688" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638822550829404688" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent_638822550829404688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638822550829384688" xlink:to="us-gaap_TaxesPayableCurrent_638822550829404688" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638822550829404688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638822550829384688" xlink:to="inod_CurrentPortionOfLongTermObligations_638822550829404688" order="6" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638822550829404688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638822550829384688" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638822550829404688" order="7" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638822550829404688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638822550829374688" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638822550829404688" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638822550829414687" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638822550829374688" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638822550829414687" order="3" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638822550829414687" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638822550829374688" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638822550829414687" order="4" use="optional" weight="1" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638822550829414687" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies_638822550829414687" order="3" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" xlink:type="extended" xlink:title="00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND  COMPREHENSIVE INCOME (LOSS) - Calc 2">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638822550829424688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638822550829424688" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638822550829424688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638822550829424688" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638822550829424688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638822550829424688" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638822550829424688" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638822550829424688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638822550829424688" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638822550829424688" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638822550829424688" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638822550829424688" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638822550829424688" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638822550829434700" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638822550829424688" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638822550829434700" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638822550829434700" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638822550829424688" xlink:to="us-gaap_ProfitLoss_638822550829434700" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:type="extended" xlink:title="995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638822550829434700" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638822550829434700" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638822550829434700" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_ProfitLoss_638822550829434700" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638822550829434700" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638822550829434700" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638822550829434700" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638822550829444692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638822550829434700" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638822550829444692" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses_638822550829444692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638822550829444692" xlink:to="us-gaap_CostsAndExpenses_638822550829444692" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638822550829444692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses_638822550829444692" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638822550829444692" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_638822550829444692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses_638822550829444692" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_638822550829444692" order="2" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts_638822550829444692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses_638822550829444692" xlink:to="us-gaap_DirectOperatingCosts_638822550829444692" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638822550829444692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638822550829444692" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638822550829444692" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638822550829454689" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638822550829454689" order="1" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638822550829454689" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638822550829454689" order="2" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_638822550829454689" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638822550829454689" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638822550829454689" order="1" use="optional" weight="-1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638822550829454689" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638822550829454689" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638822550829454689" order="2" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638822550829454689" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638822550829454689" order="3" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638822550829464692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638822550829454689" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638822550829464692" order="1" use="optional" weight="-1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638822550829464692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638822550829464692" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638822550829464692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638822550829464692" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638822550829464692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638822550829464692" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638822550829464692" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638822550829464692" order="4" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638822550829474704" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638822550829474704" order="5" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638822550829474704" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638822550829474704" order="6" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638822550829474704" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638822550829474704" order="7" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638822550829474704" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_ShareBasedCompensation_638822550829474704" order="8" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638822550829484705" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638822550829484705" order="9" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638822550829484705" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638822550829484705" order="10" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638822550829484705" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_ProfitLoss_638822550829484705" order="11" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638822550829484705" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550829464692" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638822550829484705" order="12" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" xlink:type="extended" xlink:title="99940201 - Disclosure - Accounts Receivable (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638822550829494707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638822550829494707" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638822550829494707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638822550829494707" order="2" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AllowanceForDoubtfulAccountsBillingAdjustment" xlink:label="inod_AllowanceForDoubtfulAccountsBillingAdjustment_638822550829494707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="inod_AllowanceForDoubtfulAccountsBillingAdjustment_638822550829494707" order="3" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" xlink:type="extended" xlink:title="99940303 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_638822550829494707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_638822550829494707" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638822550829504707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638822550829504707" order="2" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638822550829504707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638822550829504707" order="3" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638822550829504707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638822550829504707" order="4" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638822550829504707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638822550829504707" order="5" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638822550829504707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638822550829504707" order="6" use="optional" weight="1" priority="2" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" xlink:type="extended" xlink:title="99940401 - Disclosure - Income Taxes - Tax rate reconciliation (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_638822550829504707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_638822550829504707" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638822550829514705" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638822550829514705" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_638822550829514705" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_638822550829514705" order="3" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638822550829514705" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638822550829514705" order="4" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638822550829514705" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638822550829514705" order="5" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638822550829514705" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638822550829514705" order="6" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638822550829514705" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638822550829514705" order="7" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638822550829524706" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638822550829524706" order="8" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638822550829524706" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638822550829524706" order="9" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638822550829524706" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638822550829524706" order="10" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_638822550829524706" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_638822550829524706" order="11" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638822550829524706" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638822550829524706" order="12" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638822550829524706" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638822550829524706" order="13" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638822550829534707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638822550829534707" order="14" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" xlink:type="extended" xlink:title="99940503 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_638822550829534707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_638822550829534707" order="1" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638822550829534707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638822550829534707" order="2" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638822550829534707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638822550829534707" order="3" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638822550829534707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638822550829534707" order="4" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638822550829544707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638822550829544707" order="5" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638822550829544707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638822550829544707" order="6" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638822550829544707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638822550829544707" order="1" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638822550829544707" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638822550829544707" order="2" use="optional" weight="1" priority="2" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" xlink:type="extended" xlink:title="99940601 - Disclosure - Long-term obligations (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638822550829554710" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations" xlink:to="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638822550829554710" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_MicrosoftLicensesObligations" xlink:label="inod_MicrosoftLicensesObligations_638822550829554710" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations" xlink:to="inod_MicrosoftLicensesObligations_638822550829554710" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2" xlink:type="extended" xlink:title="40603 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details) Calc 2">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638822550829614718" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638822550829614718" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638822550829624716" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_OperatingLeaseLiability_638822550829624716" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2" xlink:type="extended" xlink:title="40702 - Disclosure - Long-term obligations (Details) Calc 2">
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations_2" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638822550829624716" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations_2" xlink:to="inod_CurrentPortionOfLongTermObligations_638822550829624716" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638822550829624716" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations_2" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638822550829624716" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails" xlink:type="extended" xlink:title="99940801 - Disclosure - Stock Options and Restricted Stock Units - Stock-Based Compensation Expense (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638822550829634716" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638822550829634716" order="1" use="optional" weight="1" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense_638822550829634716" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_StockOptionPlanExpense_638822550829634716" order="2" use="optional" weight="1" priority="2" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" xlink:type="extended" xlink:title="99941002 - Disclosure - Segment reporting and concentrations- Significant income statement (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_638822550829634716" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_638822550829634716" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638822550829634716" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss_638822550829634716" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638822550829634716" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638822550829634716" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638822550829634716" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638822550829644715" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638822550829634716" xlink:to="us-gaap_GrossProfit_638822550829644715" order="2" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts_638822550829644715" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638822550829644715" xlink:to="us-gaap_DirectOperatingCosts_638822550829644715" order="1" use="optional" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638822550829644715" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638822550829644715" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638822550829644715" order="2" use="optional" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails" xlink:type="extended" xlink:title="99941101 - Disclosure - Income Per Share (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638822550829654720" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638822550829654720" order="1" use="optional" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638822550829654720" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638822550829654720" order="2" use="optional" weight="1" />
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>inod-20250331_def.xml
<DESCRIPTION>EX-101.DEF
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.10.0.1 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/7/2025 10:51:25 PM-->
<!--Modified on: 5/7/2025 10:51:25 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#StatementCondensedConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnitsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureGoodwillAndIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomeTaxesTaxRateReconciliationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomePerShareAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureLineOfCreditDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" />
  <link:arcroleRef arcroleURI="http://www.esma.europa.eu/xbrl/esef/arcrole/wider-narrower" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd#wider-narrower" />
  <link:roleRef roleURI="http://www.innodata-isogen.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:href="inod-20250331.xsd#DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="simple" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd#eedm" roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended" xlink:title="Extensible Enumeration Domain Members">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:title="us-gaap_StatementOfOtherComprehensiveIncomeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" xlink:title="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_StatementOfOtherComprehensiveIncomeAbstract To us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" order="1" priority="0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:title="us-gaap_IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" xlink:title="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_IncomeStatementAbstract To us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" order="2" priority="0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_1" xlink:title="us-gaap_IntangibleAssetsNetExcludingGoodwill_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_IncomeStatementAbstract To us-gaap_IntangibleAssetsNetExcludingGoodwill_1" order="1" priority="0" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="extended" xlink:title="99900 - Disclosure - Standard And Custom Axis Domain Defaults">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_1" xlink:title="us-gaap_StatementClassOfStockAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_1" xlink:title="us-gaap_ClassOfStockDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementClassOfStockAxis_1" xlink:to="us-gaap_ClassOfStockDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementClassOfStockAxis_1 To us-gaap_ClassOfStockDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_1" xlink:title="srt_ProductOrServiceAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_1" xlink:title="srt_ProductsAndServicesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ProductOrServiceAxis_1" xlink:to="srt_ProductsAndServicesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ProductOrServiceAxis_1 To srt_ProductsAndServicesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_1" xlink:title="us-gaap_StatementEquityComponentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_1" xlink:title="us-gaap_EquityComponentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementEquityComponentsAxis_1" xlink:to="us-gaap_EquityComponentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementEquityComponentsAxis_1 To us-gaap_EquityComponentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis_1" xlink:title="srt_RestatementAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain_1" xlink:title="srt_RestatementDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RestatementAxis_1" xlink:to="srt_RestatementDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RestatementAxis_1 To srt_RestatementDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_CumulativeEffectPeriodOfAdoptionAxis_1 To srt_CumulativeEffectPeriodOfAdoptionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_1" xlink:title="us-gaap_IncomeStatementLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_1" xlink:title="us-gaap_IncomeStatementLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementLocationAxis_1" xlink:to="us-gaap_IncomeStatementLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeStatementLocationAxis_1 To us-gaap_IncomeStatementLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_1" xlink:title="srt_StatementGeographicalAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_1" xlink:title="srt_SegmentGeographicalDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementGeographicalAxis_1" xlink:to="srt_SegmentGeographicalDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementGeographicalAxis_1 To srt_SegmentGeographicalDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_SubsidiaryAxis" xlink:label="inod_SubsidiaryAxis_1" xlink:title="inod_SubsidiaryAxis_1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NameOfSubsidiaryDomain" xlink:label="inod_NameOfSubsidiaryDomain_1" xlink:title="inod_NameOfSubsidiaryDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="inod_SubsidiaryAxis_1" xlink:to="inod_NameOfSubsidiaryDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:inod_SubsidiaryAxis_1 To inod_NameOfSubsidiaryDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_1" xlink:title="us-gaap_BalanceSheetLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_1" xlink:title="us-gaap_BalanceSheetLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BalanceSheetLocationAxis_1" xlink:to="us-gaap_BalanceSheetLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BalanceSheetLocationAxis_1 To us-gaap_BalanceSheetLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1" xlink:title="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain_1" xlink:title="us-gaap_AdjustmentsForErrorCorrectionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1" xlink:to="us-gaap_AdjustmentsForErrorCorrectionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1 To us-gaap_AdjustmentsForErrorCorrectionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_1" xlink:title="srt_OwnershipAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_1" xlink:title="srt_OwnershipDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_OwnershipAxis_1" xlink:to="srt_OwnershipDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_OwnershipAxis_1 To srt_OwnershipDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_1" xlink:title="us-gaap_StatementBusinessSegmentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_1" xlink:title="us-gaap_SegmentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementBusinessSegmentsAxis_1" xlink:to="us-gaap_SegmentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementBusinessSegmentsAxis_1 To us-gaap_SegmentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_1" xlink:title="srt_RangeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_1" xlink:title="srt_RangeMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RangeAxis_1" xlink:to="srt_RangeMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RangeAxis_1 To srt_RangeMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:title="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_1" xlink:title="us-gaap_TypeOfAdoptionMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:to="us-gaap_TypeOfAdoptionMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1 To us-gaap_TypeOfAdoptionMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:title="us-gaap_QuantifyingMisstatementInCurrentYearFinancialStatementsByNatureOfErrorAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:title="us-gaap_NatureOfErrorDomain_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_1" xlink:title="srt_StatementScenarioAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_1" xlink:title="srt_ScenarioUnspecifiedDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementScenarioAxis_1" xlink:to="srt_ScenarioUnspecifiedDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementScenarioAxis_1 To srt_ScenarioUnspecifiedDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PropertyPlantAndEquipmentByTypeAxis_1 To us-gaap_PropertyPlantAndEquipmentTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1 To us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_1" xlink:title="dei_LegalEntityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_1" xlink:title="dei_EntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_LegalEntityAxis_1" xlink:to="dei_EntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_LegalEntityAxis_1 To dei_EntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" xlink:title="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain_1" xlink:title="us-gaap_ChangeInAccountingEstimateTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ChangeInAccountingEstimateByTypeAxis_1 To us-gaap_ChangeInAccountingEstimateTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_1" xlink:title="us-gaap_IncomeTaxAuthorityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_1" xlink:title="us-gaap_IncomeTaxAuthorityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeTaxAuthorityAxis_1" xlink:to="us-gaap_IncomeTaxAuthorityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeTaxAuthorityAxis_1 To us-gaap_IncomeTaxAuthorityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_1" xlink:title="srt_ConsolidatedEntitiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_1" xlink:title="srt_ConsolidatedEntitiesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidatedEntitiesAxis_1" xlink:to="srt_ConsolidatedEntitiesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidatedEntitiesAxis_1 To srt_ConsolidatedEntitiesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="us-gaap_TaxCreditCarryforwardAxis_1" xlink:title="us-gaap_TaxCreditCarryforwardAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain_1" xlink:title="us-gaap_TaxCreditCarryforwardNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TaxCreditCarryforwardAxis_1" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TaxCreditCarryforwardAxis_1 To us-gaap_TaxCreditCarryforwardNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_1" xlink:title="srt_MajorCustomersAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_1" xlink:title="srt_NameOfMajorCustomerDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_MajorCustomersAxis_1" xlink:to="srt_NameOfMajorCustomerDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_MajorCustomersAxis_1 To srt_NameOfMajorCustomerDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:title="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" xlink:title="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByFairValueHierarchyLevelAxis_1 To us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_1" xlink:title="srt_LitigationCaseAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_1" xlink:title="srt_LitigationCaseTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_LitigationCaseAxis_1" xlink:to="srt_LitigationCaseTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_LitigationCaseAxis_1 To srt_LitigationCaseTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_1" xlink:title="us-gaap_OptionIndexedToIssuersEquityEquityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" xlink:title="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis_1" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_OptionIndexedToIssuersEquityEquityAxis_1 To us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_1" xlink:title="us-gaap_AwardTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AwardTypeAxis_1" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AwardTypeAxis_1 To us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:title="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_1" xlink:title="us-gaap_RelatedPartyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:to="us-gaap_RelatedPartyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1 To us-gaap_RelatedPartyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_1" xlink:title="us-gaap_PlanNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_1" xlink:title="us-gaap_PlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PlanNameAxis_1" xlink:to="us-gaap_PlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PlanNameAxis_1 To us-gaap_PlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_1" xlink:title="us-gaap_DebtInstrumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_1" xlink:title="us-gaap_DebtInstrumentNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DebtInstrumentAxis_1" xlink:to="us-gaap_DebtInstrumentNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DebtInstrumentAxis_1 To us-gaap_DebtInstrumentNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis_1" xlink:title="us-gaap_TypeOfArrangementAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" xlink:title="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TypeOfArrangementAxis_1" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TypeOfArrangementAxis_1 To us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_1" xlink:title="srt_TitleOfIndividualAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" xlink:title="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_TitleOfIndividualAxis_1" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_TitleOfIndividualAxis_1 To srt_TitleOfIndividualWithRelationshipToEntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ReportableSegmentDisclosureAxis" xlink:label="inod_ReportableSegmentDisclosureAxis_1" xlink:title="inod_ReportableSegmentDisclosureAxis_1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ReportableSegmentDisclosureDomain" xlink:label="inod_ReportableSegmentDisclosureDomain_1" xlink:title="inod_ReportableSegmentDisclosureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="inod_ReportableSegmentDisclosureAxis_1" xlink:to="inod_ReportableSegmentDisclosureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:inod_ReportableSegmentDisclosureAxis_1 To inod_ReportableSegmentDisclosureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsegmentsConsolidationItemsAxis" xlink:label="us-gaap_SubsegmentsConsolidationItemsAxis_1" xlink:title="us-gaap_SubsegmentsConsolidationItemsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsegmentsConsolidationItemsDomain" xlink:label="us-gaap_SubsegmentsConsolidationItemsDomain_1" xlink:title="us-gaap_SubsegmentsConsolidationItemsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsegmentsConsolidationItemsAxis_1" xlink:to="us-gaap_SubsegmentsConsolidationItemsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsegmentsConsolidationItemsAxis_1 To us-gaap_SubsegmentsConsolidationItemsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AllCountriesAxis" xlink:label="inod_AllCountriesAxis_1" xlink:title="inod_AllCountriesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_AllCountriesDomain" xlink:label="country_AllCountriesDomain_1" xlink:title="country_AllCountriesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="inod_AllCountriesAxis_1" xlink:to="country_AllCountriesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:inod_AllCountriesAxis_1 To country_AllCountriesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:title="us-gaap_ConcentrationRiskByBenchmarkAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_1" xlink:title="us-gaap_ConcentrationRiskBenchmarkDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByBenchmarkAxis_1 To us-gaap_ConcentrationRiskBenchmarkDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:title="us-gaap_ConcentrationRiskByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_1" xlink:title="us-gaap_ConcentrationRiskTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:to="us-gaap_ConcentrationRiskTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByTypeAxis_1 To us-gaap_ConcentrationRiskTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_1" xlink:title="us-gaap_AntidilutiveSecuritiesNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1 To us-gaap_AntidilutiveSecuritiesNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" xlink:title="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" xlink:title="us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_OptionIndexedToIssuersEquityTypeAxis_1 To us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_1" xlink:title="us-gaap_HedgingDesignationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_1" xlink:title="us-gaap_HedgingDesignationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_HedgingDesignationAxis_1" xlink:to="us-gaap_HedgingDesignationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_HedgingDesignationAxis_1 To us-gaap_HedgingDesignationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:title="us-gaap_DerivativeInstrumentRiskAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_1" xlink:title="us-gaap_DerivativeContractTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:to="us-gaap_DerivativeContractTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DerivativeInstrumentRiskAxis_1 To us-gaap_DerivativeContractTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_1" xlink:title="us-gaap_SubsequentEventTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_1" xlink:title="us-gaap_SubsequentEventTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsequentEventTypeAxis_1" xlink:to="us-gaap_SubsequentEventTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsequentEventTypeAxis_1 To us-gaap_SubsequentEventTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_1" xlink:title="us-gaap_BusinessAcquisitionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_1" xlink:title="us-gaap_BusinessAcquisitionAcquireeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BusinessAcquisitionAxis_1" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BusinessAcquisitionAxis_1 To us-gaap_BusinessAcquisitionAcquireeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_1" xlink:title="srt_ConsolidationItemsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_1" xlink:title="srt_ConsolidationItemsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidationItemsAxis_1" xlink:to="srt_ConsolidationItemsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidationItemsAxis_1 To srt_ConsolidationItemsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_1" xlink:title="us-gaap_VariableRateAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_1" xlink:title="us-gaap_VariableRateDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_VariableRateAxis_1" xlink:to="us-gaap_VariableRateDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_VariableRateAxis_1 To us-gaap_VariableRateDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_1" xlink:title="us-gaap_CreditFacilityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_1" xlink:title="us-gaap_CreditFacilityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CreditFacilityAxis_1" xlink:to="us-gaap_CreditFacilityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CreditFacilityAxis_1 To us-gaap_CreditFacilityDomain_1" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638822550829664716" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_638822550829664716" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_NoncontrollingInterestMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockCommonShares" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables" xlink:type="extended" xlink:title="99930803 - Disclosure - Stock Options and Restricted Stock Units (Tables)">
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_StockOptionsTable" xlink:label="inod_StockOptionsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_StockOptionsTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550829704719" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550829704719" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="inod_StockOptionsTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638822550829714725" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638822550829714725" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_EquityPlansMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_StockOptionsLineItems" xlink:label="inod_StockOptionsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="inod_StockOptionsLineItems" xlink:to="inod_StockOptionsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_StockOptionsLineItems" xlink:to="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_StockOptionsLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_StockOptionsLineItems" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails" xlink:type="extended" xlink:title="99940101 - Disclosure - Summary of Significant Accounting Policies and Estimates (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638822550829724720" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638822550829724720" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_AsiaMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638822550829734718" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638822550829734718" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550829744733" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550829744733" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="us-gaap_SoftwareDevelopmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_SoftwareDevelopmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CapitalizedContractCostAmortizationPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" xlink:type="extended" xlink:title="99940302 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550829764720" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550829764720" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="inod_AcquiredIntangibleAssetsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_CustomerRelationshipsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_TrademarksAndTradeNamesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_PatentsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DatabasesMember" xlink:label="us-gaap_DatabasesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_DatabasesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_CapitalizedSoftwareDevelopmentCostMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" xlink:type="extended" xlink:title="99940304 - Disclosure - Goodwill and Intangible Assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550829794724" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550829794724" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="inod_AcquiredIntangibleAssetsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" xlink:type="extended" xlink:title="99940401 - Disclosure - Income Taxes - Tax rate reconciliation (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_IncomeTaxesTable" xlink:label="inod_IncomeTaxesTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_IncomeTaxesTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638822550829814726" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638822550829814726" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_IncomeTaxesLineItems" xlink:label="inod_IncomeTaxesLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="inod_IncomeTaxesLineItems" xlink:to="inod_IncomeTaxesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_IncomeTaxesLineItems" xlink:to="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" xlink:type="extended" xlink:title="99940501 - Disclosure - Operating Leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638822550829854725" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638822550829854725" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_PercentageOfRentalEscalations" xlink:label="inod_PercentageOfRentalEscalations" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="inod_PercentageOfRentalEscalations" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" xlink:type="extended" xlink:title="99940502 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550829864728" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550829864728" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LongTermOperatingLeaseMember" xlink:label="inod_LongTermOperatingLeaseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="inod_LongTermOperatingLeaseMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ShortTermOperatingLeaseMember" xlink:label="inod_ShortTermOperatingLeaseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="inod_ShortTermOperatingLeaseMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseExpense" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails" xlink:type="extended" xlink:title="99940801 - Disclosure - Stock Options and Restricted Stock Units - Stock-Based Compensation Expense (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638822550829874725" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638822550829874725" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_EquityPlansMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_StockOptionPlanExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_OtherSellingGeneralAndAdministrativeExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_ShareBasedCompensation" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails" xlink:type="extended" xlink:title="99940802 - Disclosure - Stock Options and Restricted Stock Units - Summary of Stock Option Activity (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638822550829894726" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638822550829894726" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638822550829894726" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638822550829894726" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandThirteenStockPlanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails" xlink:type="extended" xlink:title="99940803 - Disclosure - Stock Options and Restricted Stock Units - Summary of Restricted Stock Unit activity (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638822550829944727" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638822550829944727" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NonEmployeeMember" xlink:label="inod_NonEmployeeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="inod_NonEmployeeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550829954730" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550829954730" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638822550829964733" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638822550829964733" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_EquityPlansMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails" xlink:type="extended" xlink:title="99940804 - Disclosure - Stock Options and Restricted Stock Units - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638822550829994735" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638822550829994735" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550829994735" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550829994735" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" xlink:type="extended" xlink:title="99940901 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638822550830014731" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_638822550830014731" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_StockholdersEquity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails" xlink:type="extended" xlink:title="99941001 - Disclosure - Segment reporting and concentrations - Segment assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638822550830034738" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain_638822550830034738" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_DdsMember" xlink:label="inod_DdsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_DdsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_SynodexMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_AgilityMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Assets" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" xlink:type="extended" xlink:title="99941002 - Disclosure - Segment reporting and concentrations- Significant income statement (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638822550830044734" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain_638822550830044734" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_DdsMember" xlink:label="inod_DdsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_DdsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_SynodexMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_AgilityMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_DirectOperatingCosts" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OperatingIncomeLoss" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" xlink:type="extended" xlink:title="99941003 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638822550830074738" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638822550830074738" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_GB" xlink:label="country_GB" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_GB" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_NL" xlink:label="country_NL" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_NL" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CA" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_OtherPrincipallyEuropeMember" xlink:label="inod_OtherPrincipallyEuropeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_SegmentGeographicalDomain" xlink:to="inod_OtherPrincipallyEuropeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails" xlink:type="extended" xlink:title="99941004 - Disclosure - Segment reporting and concentrations - Long-lived assets by geographic region (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638822550830114737" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638822550830114737" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CA" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_GB" xlink:label="country_GB" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_GB" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_PH" xlink:label="country_PH" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_PH" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_IN" xlink:label="country_IN" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_IN" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_LK" xlink:label="country_LK" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_LK" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd#stpr_IL" xlink:label="stpr_IL" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_SegmentGeographicalDomain" xlink:to="stpr_IL" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_DE" xlink:label="country_DE" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_DE" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ForeignCountriesMember" xlink:label="inod_ForeignCountriesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_SegmentGeographicalDomain" xlink:to="inod_ForeignCountriesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_NoncurrentAssets" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" xlink:type="extended" xlink:title="99941005 - Disclosure - Segment reporting and concentrations (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_MajorCustomersAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638822550830154740" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_638822550830154740" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ForeignCustomerMember" xlink:label="inod_ForeignCustomerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_ForeignCustomerMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_OneClientMember" xlink:label="inod_OneClientMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_OneClientMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TwoClientMember" xlink:label="inod_TwoClientMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_TwoClientMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ClientMember" xlink:label="inod_ClientMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_ClientMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638822550830164739" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638822550830164739" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638822550830174739" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638822550830174739" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638822550830174739" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638822550830174739" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638822550830184745" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638822550830184745" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="us-gaap_NonUsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NumberOfClient" xlink:label="inod_NumberOfClient" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="inod_NumberOfClient" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails" xlink:type="extended" xlink:title="99941102 - Disclosure - Income Per Share - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_638822550830214758" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_638822550830214758" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550830224743" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550830224743" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" xlink:type="extended" xlink:title="99941202 - Disclosure - Derivatives - Fair value of derivative instruments (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638822550830244744" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain_638822550830244744" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_AccruedLiabilitiesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638822550830244744" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain_638822550830244744" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeForwardMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_HedgingDesignationAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_638822550830254744" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain_638822550830254744" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" xlink:type="extended" xlink:title="99941301 - Disclosure - Line Of Credit (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638822550830444743" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain_638822550830444743" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityBorrowingBase" xlink:label="inod_LineOfCreditFacilityBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" priority="1" use="optional" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>inod-20250331_lab.xml
<DESCRIPTION>EX-101.LAB
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.10.0.1 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/7/2025 10:51:25 PM-->
<!--Modified on: 5/7/2025 10:51:25 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Document and Entity Information</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationTable_lbl" xml:lang="en-US">Document Information [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationLineItems_lbl" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_DocumentInformationLineItems_lbl" xml:lang="en-US">Document and Entity Information</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">CONDENSED CONSOLIDATED BALANCE SHEETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">ASSETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current assets:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net of allowance for credit losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid Expense and Other Assets Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Assets, Current, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, Plant and Equipment, Net, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property and equipment, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Right-of-use-asset, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other Assets Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred Income Tax Assets, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred income taxes, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible Assets, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangibles, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Balance - March 31, 2025</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Balance - January 1, 2025</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Assets, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">LIABILITIES AND STOCKHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts Payable Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts payable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued Liabilities Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US">Employee Related Liabilities Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued salaries, wages and related benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Balance at the end of period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Balance at the beginning of period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Deferred revenues</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Taxes Payable, Current, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Income and other taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_CurrentPortionOfLongTermObligations" xlink:to="inod_CurrentPortionOfLongTermObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">The current portion of long-term obligations of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Current Portion Of Long-Term Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Less: Current portion of long-term obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Long-term obligations - current portion</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Operating lease liability - current portion</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Current portion</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Liabilities, Current, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total current liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred income taxes, net</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NoncurrentPortionOfLongTermObligations" xlink:to="inod_NoncurrentPortionOfLongTermObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">The non-current portion of long-term obligations of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Noncurrent Portion Of Long-Term Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Long-term obligations, net of current portion</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Totals Non-Current portion of long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Operating lease liability, net of current portion</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Long-term portion</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Total liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and Contingencies.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and contingencies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders Equity [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">STOCKHOLDERS' EQUITY:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Preferred Stock Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Serial preferred stock; 4,998,000 shares authorized, none issued and outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common Stock Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock, $.01 par value; 75,000,000 shares authorized; 34,929,000 shares issued and 31,745,000 outstanding at March 31, 2025 and 34,484,000 shares issued and 31,300,000 outstanding at December 31, 2024</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional Paid In Capital</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained Earnings Accumulated Deficit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained earnings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:to="us-gaap_StockholdersEquityBeforeTreasuryStock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_lbl" xml:lang="en-US">Stockholders Equity Before Treasury Stock</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_lbl" xml:lang="en-US">Stockholders' Equity before Treasury Stock, Total</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US">Treasury Stock Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US">Less: treasury stock, 3,184,000 shares at March 31, 2025 and December 31, 2024, at cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Stockholders Equity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Balance at the end</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Balance at the beginning</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Stockholders' equity Innodata Inc. and subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US">Equity, Attributable to Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US">Non-controlling interests</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Equity, Including Portion Attributable to Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Balance at the end</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Balance at the beginning</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total Stockholders' equity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Liabilities and Stockholders Equity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total liabilities and stockholders' equity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Serial preferred stock, shares authorized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US">Preferred Stock, Shares Issued</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US">Serial preferred stock, issued</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Preferred Stock Shares Outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Serial preferred stock, outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common Stock Par Or Stated Value Per Share</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common Stock Shares Issued</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, shares outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury Stock, Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Balance at the end (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Balance at the beginning (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury stock, shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Revenues</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpensesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsAndExpensesAbstract_lbl" xml:lang="en-US">Costs and Expenses [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CostsAndExpensesAbstract_lbl" xml:lang="en-US">Operating costs and expenses:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DirectOperatingCosts" xlink:to="us-gaap_DirectOperatingCosts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DirectOperatingCosts_lbl" xml:lang="en-US">Direct Operating Costs</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DirectOperatingCosts_lbl" xml:lang="en-US">Direct operating costs</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DirectOperatingCosts_lbl" xml:lang="en-US">Direct operating costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling and administrative expenses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling and administrative expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" xml:lang="en-US">Interest Income (Expense), Nonoperating, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" xml:lang="en-US">Interest income, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_CostsAndExpenses_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsAndExpenses_lbl" xml:lang="en-US">Costs and Expenses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CostsAndExpenses_lbl" xml:lang="en-US">Total</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income (Loss) From Continuing Operations Before Income Taxes, Extraordinary Items, Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Consolidated net income</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Consolidated net income</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Net Income Loss Attributable To Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Income attributable to non-controlling interests</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net Income attributable to Innodata Inc. and Subsidiaries</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income (loss) attributable to Innodata Inc. and Subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Income Per Share</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Income per share attributable to Innodata Inc. and Subsidiaries:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">Weighted Average Number Of Shares Outstanding [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">Weighted average shares outstanding:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average common shares outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Adjusted for dilutive computation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xml:lang="en-US">Comprehensive loss</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xml:lang="en-US">Comprehensive Income:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Pension and Other Postretirement Benefit Plans, Adjustment, Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_lbl" xml:lang="en-US">Pension liability adjustment, net of taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Derivatives Qualifying As Hedges, Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" xml:lang="en-US">Change in fair value of derivatives, net of taxes</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" xml:lang="en-US">Change in fair value of derivatives, net of taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Other comprehensive income (loss)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total comprehensive income</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive income attributed to non-controlling interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net Of Tax, Attributable To Parent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Comprehensive income attributable to Innodata Inc. and Subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile consolidated net income to net cash provided by operating activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation, Depletion and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Share-based Compensation, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Total stock-based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xml:lang="en-US">Deferred Income Taxes and Tax Credits</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xml:lang="en-US">Deferred income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:to="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_lbl" xml:lang="en-US">Defined Contribution Plan, Increase (Decrease), Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_lbl" xml:lang="en-US">Pension cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Increase Decrease In Operating Capital [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Increase Decrease In Accounts Receivable</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Accounts receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Increase Decrease In Prepaid Deferred Expense and Other Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US">Increase Decrease In Other Operating Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US">Other assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Increase (Decrease) In Accounts Payable and Accrued Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Accounts payable and accrued expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Deferred revenues</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xml:lang="en-US">Increase Decrease In Employee Related Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xml:lang="en-US">Accrued salaries, wages and related benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_lbl" xml:lang="en-US">Increase Decrease In Accrued Taxes Payable</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_lbl" xml:lang="en-US">Income and other taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash provided by (used in) operating activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Payments To Acquire Property Plant and Equipment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Capital expenditures</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US">Proceeds from exercise of stock options</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Repayments Of Long Term Debt</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Payment of long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net cash provided by (used in) financing activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Effect of Exchange Rate on Cash and Cash Equivalents, Continuing Operations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Effect of exchange rate changes on cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Net increase in cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash and cash equivalents, end of period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash and cash equivalents, beginning of period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">Supplemental disclosures of cash flow information:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaid" xlink:to="us-gaap_IncomeTaxesPaid_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaid_lbl" xml:lang="en-US">Income Taxes Paid</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaid_lbl" xml:lang="en-US">Cash paid for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Cash paid for operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Cash paid for interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US">CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Statement Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">Accumulated Other Comprehensive Loss [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">Accumulated Other Comprehensive Loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US">Treasury Stock [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US">Treasury Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US">Noncontrolling Interest [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US">Non-Controlling Interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Shares, Outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balance at the end (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balance at the beginning (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock-based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Exercise of stock options</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Stock option exercises</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Stock option exercises (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Number of Options, Exercised (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Stock option exercises (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US">Vesting of restricted stock units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US">Vesting of restricted stock units (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Summary of Significant Accounting Policies and Estimates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Summary of Significant Accounting Policies and Estimates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US">Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndNontradeReceivableTextBlock" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndNontradeReceivableTextBlock" xlink:to="us-gaap_AccountsAndNontradeReceivableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock_lbl" xml:lang="en-US">Accounts and Nontrade Receivable [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock_lbl" xml:lang="en-US">Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeDisclosureAbstract" xlink:to="us-gaap_LesseeDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeDisclosureAbstract_lbl" xml:lang="en-US">Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermObligationsAbstract" xlink:to="inod_LongTermObligationsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermObligationsAbstract_lbl" xml:lang="en-US">Long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LongTermObligationsDisclosureTextBlock" xlink:label="inod_LongTermObligationsDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermObligationsDisclosureTextBlock" xlink:to="inod_LongTermObligationsDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LongTermObligationsDisclosureTextBlock_lbl" xml:lang="en-US">The entire disclosure for long-term obligations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermObligationsDisclosureTextBlock_lbl" xml:lang="en-US">Long-Term Obligations, Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LongTermObligationsDisclosureTextBlock_lbl" xml:lang="en-US">Long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">Stock Options and Restricted Stock Units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Disclosure Of Compensation Related Costs, Share-Based Payments [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Stock Options and Restricted Stock Units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" xml:lang="en-US">Comprehensive Income (Loss) Note [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" xml:lang="en-US">Comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US">Segment reporting and concentrations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">Segment reporting and concentrations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Income Per Share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_lbl" xml:lang="en-US">Derivatives</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" xml:lang="en-US">Derivatives</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="us-gaap_LineOfCreditFacilityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAbstract_lbl" xml:lang="en-US">Line of Credit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">Line of Credit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US">Basis of Presentation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Principles of Consolidation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use Of Estimates, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of Estimates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Concentration of Credit Risk</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Trade and Other Accounts Receivable, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US">Foreign Currency Translation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesPolicyTextBlock" xlink:to="us-gaap_DerivativesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US">Derivatives, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US">Derivative Instruments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:to="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_lbl" xml:lang="en-US">Research, Development, and Computer Software Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_lbl" xml:lang="en-US">Capitalized Developed Software</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition, Deferred Revenue [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Deferred Revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recently Issued Accounting Pronouncements Not Yet Adopted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US">Schedule of deferred revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:to="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl" xml:lang="en-US">Deferred Revenue, by Arrangement, Disclosure [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl" xml:lang="en-US">Schedule of information about contract liabilities (deferred revenue)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xml:lang="en-US">Schedule of accounts receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US">Schedule of activity in allowance for credit losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xml:lang="en-US">Schedule of changes in carrying amount of goodwill</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Company's acquired intangible assets and capitalized developed software</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">Schedule of estimated amortization expense for intangible assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of reconciliation of U.S. statutory rate with Company's effective tax rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US">Schedule Of Unrecognized Tax Benefits Roll Forward [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US">Schedule of roll forward of the Company's unrecognized tax benefits and associated interest</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" xlink:to="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" xml:lang="en-US">Schedule of operating lease expense recognized in financial statements.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" xml:lang="en-US">Schedule of Operating lease expense recognized in Financial Statements [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" xml:lang="en-US">Schedule of operating lease expense recognized in financial statements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Schedule of net present value of operating lease liability</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" xlink:to="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" xml:lang="en-US">Schedule of weighted average remaining lease terms and discount rates.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" xml:lang="en-US">Schedule of Weighted Average Remaining Lease Terms and Discount Rates [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" xml:lang="en-US">Schedule of weighted average remaining lease terms and discount rates</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LongTermObligationsDisclosureTableTextBlock" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermObligationsDisclosureTableTextBlock" xlink:to="inod_LongTermObligationsDisclosureTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_lbl" xml:lang="en-US">The tabular disclosure for long-term obligations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_lbl" xml:lang="en-US">Long-Term Obligations, Disclosure [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_lbl" xml:lang="en-US">Schedule of total long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_StockOptionsTable" xlink:label="inod_StockOptionsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_StockOptionsTable" xlink:to="inod_StockOptionsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_StockOptionsTable_lbl" xml:lang="en-US">Schedule reflecting stock options.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_StockOptionsTable_lbl" xml:lang="en-US">Stock Options [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameDomain_lbl" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EquityPlansMember" xlink:to="inod_EquityPlansMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EquityPlansMember_lbl" xml:lang="en-US">Represents the information pertaining to Equity plans.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EquityPlansMember_lbl" xml:lang="en-US">Equity Plans [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EquityPlansMember_lbl" xml:lang="en-US">Equity Plans</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_StockOptionsLineItems" xlink:label="inod_StockOptionsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_StockOptionsLineItems" xlink:to="inod_StockOptionsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_StockOptionsLineItems_lbl" xml:lang="en-US">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.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_StockOptionsLineItems_lbl" xml:lang="en-US">Stock Options [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_StockOptionsLineItems_lbl" xml:lang="en-US">Stock Options and Restricted Stock Units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:to="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Cost by Plan [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_lbl" xml:lang="en-US">Schedule of stock-based compensation expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule Of Share-Based Compensation, Stock Options, Activity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of stock option activity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" xml:lang="en-US">Summary of restricted stock under the company's plan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" xml:lang="en-US">Schedule Of Accumulated Other Comprehensive Income (Loss) [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" xml:lang="en-US">Schedule of components of accumulated other comprehensive loss and reclassifications from accumulated other comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl" xml:lang="en-US">Reconciliation of Assets from Segment to Consolidated [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_lbl" xml:lang="en-US">Reconciliation of Assets from Segment to Consolidated</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" xlink:to="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_lbl" xml:lang="en-US">Segment, Reconciliation of Other Items from Segments to Consolidated [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_lbl" xml:lang="en-US">Segment information for other significant income statement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US">Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US">Schedule of revenue by geographic region</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" xml:lang="en-US">Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" xml:lang="en-US">Schedule of long-lived assets by geographic region</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule Of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of loss per share, basic and diluted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US">Schedule Of Derivative Instruments In Statement Of Financial Position, Fair Value [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US">Schedule of fair value of derivative instruments included within the condensed consolidated balance sheets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US">Schedule of effect of foreign currency forward contracts designated as cash flow hedges on condensed consolidated statements of operations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Estimates and Policies [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US">Segment, Geographical [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AsiaMember" xlink:to="srt_AsiaMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_AsiaMember_lbl" xml:lang="en-US">Asia [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_AsiaMember_lbl" xml:lang="en-US">Asia</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US">UNITED STATES</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_US_lbl" xml:lang="en-US">United States</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Range [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US">Range [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="us-gaap_SoftwareDevelopmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SoftwareDevelopmentMember" xlink:to="us-gaap_SoftwareDevelopmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SoftwareDevelopmentMember_lbl" xml:lang="en-US">Software Development [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SoftwareDevelopmentMember_lbl" xml:lang="en-US">Capitalized software development</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InProcessResearchAndDevelopmentMember" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xml:lang="en-US">In Process Research and Development [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xml:lang="en-US">In process research and development</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">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.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Policies [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Estimates and Policies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:to="us-gaap_CapitalizedContractCostAmortizationPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod_lbl" xml:lang="en-US">Capitalized Contract Cost, Amortization Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod_lbl" xml:lang="en-US">Amortization period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" xml:lang="en-US">Prepaid expenses and other current assets on contract acquisition costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Foreign Currency Transaction Gain (Loss), before Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Foreign exchange (gains) losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Estimated useful life of intangibles</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenuePeriodIncreaseDecrease" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenuePeriodIncreaseDecrease" xlink:to="us-gaap_DeferredRevenuePeriodIncreaseDecrease_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease_lbl" xml:lang="en-US">Deferred Revenue, Period Increase (Decrease)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease_lbl" xml:lang="en-US">Net deferred revenue in the period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueRevenueRecognized1" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_lbl" xml:lang="en-US">Deferred Revenue, Revenue Recognized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_lbl" xml:lang="en-US">Revenue recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl" xml:lang="en-US">Temporary Equity, Foreign Currency Translation Adjustments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl" xml:lang="en-US">Currency translations and other adjustments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US">Accounts Receivable, before Allowance for Credit Loss, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US">Gross Accounts receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Allowance for credit losses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Balance at end of period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Balance at beginning of period</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AllowanceForDoubtfulAccountsBillingAdjustment" xlink:label="inod_AllowanceForDoubtfulAccountsBillingAdjustment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AllowanceForDoubtfulAccountsBillingAdjustment" xlink:to="inod_AllowanceForDoubtfulAccountsBillingAdjustment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AllowanceForDoubtfulAccountsBillingAdjustment_lbl" xml:lang="en-US">Amount of allowance for doubtful accounts billing adjustment from accounts receivable.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AllowanceForDoubtfulAccountsBillingAdjustment_lbl" xml:lang="en-US">Allowance for Doubtful Accounts Billing Adjustment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AllowanceForDoubtfulAccountsBillingAdjustment_lbl" xml:lang="en-US">Allowance for billing adjustments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Additions charged to expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Writeoff</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xml:lang="en-US">Write-offs against allowance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" xlink:to="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_lbl" xml:lang="en-US">Allowance for Loan and Lease Losses, Foreign Currency Translation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_lbl" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_ScheduleOfGoodwillTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfGoodwillTable_lbl" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillLineItems_lbl" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillLineItems_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US">Goodwill, Foreign Currency Translation Gain (Loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="inod_AcquiredIntangibleAssetsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AcquiredIntangibleAssetsMember_lbl" xml:lang="en-US">This member stands for acquired intangible assets.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AcquiredIntangibleAssetsMember_lbl" xml:lang="en-US">Acquired Intangible Assets [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AcquiredIntangibleAssetsMember_lbl" xml:lang="en-US">Acquired Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US">Developed technology</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer relationships</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TrademarksAndTradeNamesMember" xlink:to="us-gaap_TrademarksAndTradeNamesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TrademarksAndTradeNamesMember_lbl" xml:lang="en-US">Trademarks and Trade Names [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TrademarksAndTradeNamesMember_lbl" xml:lang="en-US">Trademarks and tradenames</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PatentsMember" xlink:to="us-gaap_PatentsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PatentsMember_lbl" xml:lang="en-US">Patents [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PatentsMember_lbl" xml:lang="en-US">Patents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DatabasesMember" xlink:label="us-gaap_DatabasesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DatabasesMember" xlink:to="us-gaap_DatabasesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DatabasesMember_lbl" xml:lang="en-US">Database Rights [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DatabasesMember_lbl" xml:lang="en-US">Media Contact Database</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US">Computer Software, Intangible Asset [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US">Capitalized Developed Software</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_CapitalizedSoftwareDevelopmentCostMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_CapitalizedSoftwareDevelopmentCostMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" xml:lang="en-US">Collection of computer programs and related data that provide instructions to a computer cost.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" xml:lang="en-US">Capitalized Software Development Cost [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" xml:lang="en-US">Capitalized Developed Software</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" xml:lang="en-US">Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program,</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" xml:lang="en-US">Capitalized Software Development Cost - Work in Progress [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" xml:lang="en-US">Capitalized Developed Software - in Progress</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Gross Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:to="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" xml:lang="en-US">Accumulated amount of foreign currency translation adjustments on assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Foreign Currency Translation Adjustment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" xml:lang="en-US">Foreign Currency Translation Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Net Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xml:lang="en-US">2025</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2026</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">2027</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">2028</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">2029</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:to="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" xml:lang="en-US">Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized thereafter excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Thereafter</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" xml:lang="en-US">Thereafter</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization expense</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_IncomeTaxesTable" xlink:label="inod_IncomeTaxesTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_IncomeTaxesTable" xlink:to="inod_IncomeTaxesTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_IncomeTaxesTable_lbl" xml:lang="en-US">Schedule of information relating to income taxes.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_IncomeTaxesTable_lbl" xml:lang="en-US">Income Taxes [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US">U.S. federal</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_IncomeTaxesLineItems" xlink:label="inod_IncomeTaxesLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_IncomeTaxesLineItems" xlink:to="inod_IncomeTaxesLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_IncomeTaxesLineItems_lbl" xml:lang="en-US">Income Taxes [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_IncomeTaxesLineItems_lbl" xml:lang="en-US">Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" xlink:to="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_lbl" xml:lang="en-US">Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate (Benefit) Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_lbl" xml:lang="en-US">Federal income tax expense (benefit) at statutory rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US">Effect of:</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:to="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" xml:lang="en-US">Effective income tax rate reconciliation section 162 percentage.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Section 162 Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" xml:lang="en-US">Section 162(m)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State income tax net of federal benefit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Contingency, Foreign, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_lbl" xml:lang="en-US">Tax effects of foreign operations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, GILTI, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_lbl" xml:lang="en-US">Global Intangible Low-Taxed Income (GILTI)</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:to="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" xml:lang="en-US">Effective income tax rate reconciliation withholding tax percentage.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Withholding Tax Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" xml:lang="en-US">Withholding tax</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:to="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" xml:lang="en-US">Amount of Effective Income Tax Rate Reconciliation, Return to Provision True Up.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Return to Provision True Up</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" xml:lang="en-US">Return to provision true up</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:to="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" xml:lang="en-US">Percentage of  foreign exchange gains and losses.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" xml:lang="en-US">Foreign operations permanent difference - foreign exchange gains and losses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" xml:lang="en-US">Foreign operations permanent differences - foreign exchange gains and losses</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:to="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" xml:lang="en-US">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deemed interest.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Deemed Interest, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" xml:lang="en-US">Deemed interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Foreign rate differential</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" xlink:to="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_lbl" xml:lang="en-US">These lines are represents tax rate of income unrecognized tax benefits.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Increase In Unrecognized Tax Benefits</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_lbl" xml:lang="en-US">Change in unrecognized tax benefits (ASC 740)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Change in valuation allowance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xml:lang="en-US">Effect of stock-based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Reconciling Items, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" xml:lang="en-US">Other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective tax rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Unrecognized Tax Benefits</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Balance - March 31, 2025</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Balance - January 1, 2025</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Increase for current year tax positions</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Decrease for prior year tax positions</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Interest on Income Taxes Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl" xml:lang="en-US">Interest accrual</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" xlink:to="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US">Amount of increase decrease in unrecognized tax benefits resulting from foreign currency translation.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US">Unrecognized Tax Benefits Increase Decreases Resulting From Foreign Currency Translation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US">Foreign currency remeasurement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionTable_lbl" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US">Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xml:lang="en-US">Lessee, Operating Lease, Term of Contract</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xml:lang="en-US">Lease agreements term</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_PercentageOfRentalEscalations" xlink:label="inod_PercentageOfRentalEscalations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_PercentageOfRentalEscalations" xlink:to="inod_PercentageOfRentalEscalations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_PercentageOfRentalEscalations_lbl" xml:lang="en-US">Percentage of rental escalations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_PercentageOfRentalEscalations_lbl" xml:lang="en-US">Percentage of Rental Escalations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_PercentageOfRentalEscalations_lbl" xml:lang="en-US">Percentage of rental escalations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LongTermOperatingLeaseMember" xlink:label="inod_LongTermOperatingLeaseMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermOperatingLeaseMember" xlink:to="inod_LongTermOperatingLeaseMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LongTermOperatingLeaseMember_lbl" xml:lang="en-US">This member represents of long term operating lease.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermOperatingLeaseMember_lbl" xml:lang="en-US">Long Term Operating Lease [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LongTermOperatingLeaseMember_lbl" xml:lang="en-US">Long-term operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ShortTermOperatingLeaseMember" xlink:label="inod_ShortTermOperatingLeaseMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ShortTermOperatingLeaseMember" xlink:to="inod_ShortTermOperatingLeaseMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ShortTermOperatingLeaseMember_lbl" xml:lang="en-US">This member represents of short term operating lease.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ShortTermOperatingLeaseMember_lbl" xml:lang="en-US">Short Term Operating Lease [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ShortTermOperatingLeaseMember_lbl" xml:lang="en-US">Short-term operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Operating Lease, Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Total rent expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xml:lang="en-US">2025</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2026</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2027</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2028</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">2029</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:to="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" xml:lang="en-US">Amount of lessee's undiscounted obligation for lease payment for operating lease due thereafter. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Thereafter</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" xml:lang="en-US">2030 and thereafter</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total lease payments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Less: Interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Net present value of lease liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Weighted-average lease term remaining (in months)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Weighted-average discount rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTable_lbl" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US">Long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:to="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_lbl" xml:lang="en-US">Postemployment Benefits Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_lbl" xml:lang="en-US">Pension obligations - accrued pension liability</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_MicrosoftLicensesObligations" xlink:label="inod_MicrosoftLicensesObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_MicrosoftLicensesObligations" xlink:to="inod_MicrosoftLicensesObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_MicrosoftLicensesObligations_lbl" xml:lang="en-US">Amount of Microsoft licenses obligations as of balance sheet date.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_MicrosoftLicensesObligations_lbl" xml:lang="en-US">Microsoft Licenses Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_MicrosoftLicensesObligations_lbl" xml:lang="en-US">Microsoft licenses</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TotalLongTermObligations" xlink:to="inod_TotalLongTermObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TotalLongTermObligations_lbl" xml:lang="en-US">Total amount of long-term obligations of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TotalLongTermObligations_lbl" xml:lang="en-US">Total Long-Term Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="inod_TotalLongTermObligations_lbl" xml:lang="en-US">Total long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LicensesObligationsAmountPayableAnnually" xlink:label="inod_LicensesObligationsAmountPayableAnnually" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LicensesObligationsAmountPayableAnnually" xlink:to="inod_LicensesObligationsAmountPayableAnnually_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LicensesObligationsAmountPayableAnnually_lbl" xml:lang="en-US">Amount payable annually over the term of the license agreement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LicensesObligationsAmountPayableAnnually_lbl" xml:lang="en-US">Licenses Obligations, Amount Payable Annually</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LicensesObligationsAmountPayableAnnually_lbl" xml:lang="en-US">Microsoft licenses, Amount payable annually over the term of the agreement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LitigationReserve" xlink:label="us-gaap_LitigationReserve" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LitigationReserve" xlink:to="us-gaap_LitigationReserve_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LitigationReserve_lbl" xml:lang="en-US">Estimated Litigation Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LitigationReserve_lbl" xml:lang="en-US">Estimated litigation liability</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_InterestRateDescriptionLitigation" xlink:label="inod_InterestRateDescriptionLitigation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_InterestRateDescriptionLitigation" xlink:to="inod_InterestRateDescriptionLitigation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_InterestRateDescriptionLitigation_lbl" xml:lang="en-US">Description of the interest rate relating to Litigation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_InterestRateDescriptionLitigation_lbl" xml:lang="en-US">Interest Rate Description Litigation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_InterestRateDescriptionLitigation_lbl" xml:lang="en-US">Interest rate description litigation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAccrualAtCarryingValue" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US">Litigation Settlement, Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US">Litigation settlement expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" xml:lang="en-US">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativesFairValueLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US">Derivatives, Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionPlanExpense" xlink:to="us-gaap_StockOptionPlanExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">Stock or Unit Option Plan Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">Direct operating costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_OtherSellingGeneralAndAdministrativeExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Other Selling, General and Administrative Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling and administrative expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_lbl" xml:lang="en-US">Option Indexed to Issuer's Equity [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_lbl" xml:lang="en-US">Option Indexed to Issuers Equity, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TwoThousandThirteenStockPlanMember" xlink:to="inod_TwoThousandThirteenStockPlanMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">Represents Information regarding stock plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">2013 Stock Plan [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">2013 Stock Plan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">2013 Stock Plan</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">Represents the information pertaining to 2021 Equity Compensation Plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">2021 Stock Plan [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">2021 Stock Plan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">2021 Stock Plan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Stock Options</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of Options, Outstanding - Ending balance (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of Options, Outstanding - Beginning balance (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of Options, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Grants In Period, Net Of Forfeitures</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of Options, Granted (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Number of Options, Forfeited/Expired (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Number of Options Exercisable (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xml:lang="en-US">Number of Options, Vested and Expected to Vest (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Outstanding Ending balance (in dollars per shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Outstanding beginning balance (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangements By Share-Based Payment Award, Options, Exercises In Period, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Exercised (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Forfeited/Expired (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Exercisable (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term Outstanding (in years)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term Exercisable (in years)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Exercisable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Aggregate Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Vested and Expected to Vest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xml:lang="en-US">Relationship to Entity [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NonEmployeeMember" xlink:label="inod_NonEmployeeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NonEmployeeMember" xlink:to="inod_NonEmployeeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NonEmployeeMember_lbl" xml:lang="en-US">Non-employees and non-employees directors.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NonEmployeeMember_lbl" xml:lang="en-US">Non Employee [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NonEmployeeMember_lbl" xml:lang="en-US">Non-employees and non-employee directors</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Number of Restricted Stock Units, Unvested at End of the year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Number of Restricted Stock Units, Unvested at Beginning of the year</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Granted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Vested</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Forfeited/Expired</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Outstanding at End of the year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Outstanding at Beginning of the year</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Granted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Vested</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Forfeited/Expired</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Employee Service Share-Based Compensation, Nonvested Awards, Total Compensation Cost Not Yet Recognized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Compensation cost related to non-vested stock options and restricted stock awards not yet recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Weighted-average period over which compensation cost recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:to="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_lbl" xml:lang="en-US">Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_lbl" xml:lang="en-US">Pension Liability Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_lbl" xml:lang="en-US">Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_lbl" xml:lang="en-US">Fair Value of Derivatives</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedTranslationAdjustmentMember" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" xml:lang="en-US">Accumulated Foreign Currency Adjustment Attributable to Parent [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" xml:lang="en-US">Foreign Currency Translation Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xml:lang="en-US">Comprehensive income (loss)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), before Reclassifications, Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Other comprehensive loss before reclassifications, net of taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:to="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Total after tax and before reclassification adjustments of other comprehensive income (loss).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Total Other Comprehensive Income (Loss) Before Reclassifications, Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Total other comprehensive income (loss) before reclassifications, net of taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_lbl" xml:lang="en-US">Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_lbl" xml:lang="en-US">Net amount reclassified to earnings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US">Business Segments [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US">Segment [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_DdsMember" xlink:label="inod_DdsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DdsMember" xlink:to="inod_DdsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DdsMember_lbl" xml:lang="en-US">It represents information pertaining to Digital Data Solutions (DDS) segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DdsMember_lbl" xml:lang="en-US">DDS [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_DdsMember_lbl" xml:lang="en-US">DDS</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_SynodexMember" xlink:to="inod_SynodexMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_SynodexMember_lbl" xml:lang="en-US">It represents information pertaining to Synodex segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_SynodexMember_lbl" xml:lang="en-US">Synodex [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_SynodexMember_lbl" xml:lang="en-US">Synodex</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AgilityMember" xlink:to="inod_AgilityMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AgilityMember_lbl" xml:lang="en-US">It represents information pertaining to Agility segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AgilityMember_lbl" xml:lang="en-US">Agility [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AgilityMember_lbl" xml:lang="en-US">Agility</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">Segment reporting and concentrations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross Profit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Segment operating income</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CA_lbl" xml:lang="en-US">CANADA</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_CA_lbl" xml:lang="en-US">Canada</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_GB" xlink:label="country_GB" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_GB" xlink:to="country_GB_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_GB_lbl" xml:lang="en-US">UNITED KINGDOM</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_GB_lbl" xml:lang="en-US">United Kingdom</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_NL" xlink:label="country_NL" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_NL" xlink:to="country_NL_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_NL_lbl" xml:lang="en-US">NETHERLANDS</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_NL_lbl" xml:lang="en-US">The Netherlands</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_OtherPrincipallyEuropeMember" xlink:label="inod_OtherPrincipallyEuropeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_OtherPrincipallyEuropeMember" xlink:to="inod_OtherPrincipallyEuropeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_OtherPrincipallyEuropeMember_lbl" xml:lang="en-US">It represents information pertaining to other principally Europe segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_OtherPrincipallyEuropeMember_lbl" xml:lang="en-US">Other Principally Europe [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_OtherPrincipallyEuropeMember_lbl" xml:lang="en-US">Others - principally other European countries</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_PH" xlink:label="country_PH" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_PH" xlink:to="country_PH_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_PH_lbl" xml:lang="en-US">PHILIPPINES</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_PH_lbl" xml:lang="en-US">Philippines</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_IN" xlink:label="country_IN" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_IN" xlink:to="country_IN_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_IN_lbl" xml:lang="en-US">INDIA</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_IN_lbl" xml:lang="en-US">India</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_LK" xlink:label="country_LK" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_LK" xlink:to="country_LK_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_LK_lbl" xml:lang="en-US">SRI LANKA</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_LK_lbl" xml:lang="en-US">Sri Lanka</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd#stpr_IL" xlink:label="stpr_IL" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="stpr_IL" xlink:to="stpr_IL_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="stpr_IL_lbl" xml:lang="en-US">ISRAEL</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="stpr_IL_lbl" xml:lang="en-US">Israel</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_DE" xlink:label="country_DE" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_DE" xlink:to="country_DE_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_DE_lbl" xml:lang="en-US">GERMANY</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_DE_lbl" xml:lang="en-US">Germany</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ForeignCountriesMember" xlink:label="inod_ForeignCountriesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ForeignCountriesMember" xlink:to="inod_ForeignCountriesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ForeignCountriesMember_lbl" xml:lang="en-US">It represents information pertaining to foreign countries.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ForeignCountriesMember_lbl" xml:lang="en-US">Foreign Countries [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_ForeignCountriesMember_lbl" xml:lang="en-US">Total foreign</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US">Segment reporting and concentrations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US">Long-Lived Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US">Long - lived assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Major Customers [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US">Name Of Major Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ForeignCustomerMember" xlink:label="inod_ForeignCustomerMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ForeignCustomerMember" xlink:to="inod_ForeignCustomerMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ForeignCustomerMember_lbl" xml:lang="en-US">It represents information pertaining to foreign customer.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ForeignCustomerMember_lbl" xml:lang="en-US">Foreign Customer [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ForeignCustomerMember_lbl" xml:lang="en-US">Foreign customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_OneClientMember" xlink:label="inod_OneClientMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_OneClientMember" xlink:to="inod_OneClientMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_OneClientMember_lbl" xml:lang="en-US">It represents the member of one client.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_OneClientMember_lbl" xml:lang="en-US">One Client [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_OneClientMember_lbl" xml:lang="en-US">One customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TwoClientMember" xlink:label="inod_TwoClientMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TwoClientMember" xlink:to="inod_TwoClientMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TwoClientMember_lbl" xml:lang="en-US">It represents the member of two clients.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TwoClientMember_lbl" xml:lang="en-US">Two Client [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TwoClientMember_lbl" xml:lang="en-US">Two customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ClientMember" xlink:label="inod_ClientMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ClientMember" xlink:to="inod_ClientMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ClientMember_lbl" xml:lang="en-US">It represents the member of client.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ClientMember_lbl" xml:lang="en-US">Client [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ClientMember_lbl" xml:lang="en-US">Customer</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Sales revenue, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer concentration risk</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonUsMember" xlink:to="us-gaap_NonUsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonUsMember_lbl" xml:lang="en-US">Non-US [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonUsMember_lbl" xml:lang="en-US">Non-US</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US">Number of reporting segments</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NumberOfClient" xlink:label="inod_NumberOfClient" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NumberOfClient" xlink:to="inod_NumberOfClient_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NumberOfClient_lbl" xml:lang="en-US">Represents number of clients.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NumberOfClient_lbl" xml:lang="en-US">Number of Clients</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NumberOfClient_lbl" xml:lang="en-US">Number of clients</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration risk, percentage</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" xml:lang="en-US">Schedule of Earnings Per Share Basic and Diluted [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDilutedLineItems" xlink:label="us-gaap_EarningsPerShareDilutedLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDilutedLineItems" xlink:to="us-gaap_EarningsPerShareDilutedLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDilutedLineItems_lbl" xml:lang="en-US">Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDilutedLineItems_lbl" xml:lang="en-US">Earnings per share basic and diluted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US">Incremental Common Shares Attributable To Share-Based Payment Arrangements</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US">Dilutive effect of outstanding options and restricted stock units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US">Antidilutive Securities Excluded From Computation Of Earnings Per Share, By Antidilutive Securities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US">Antidilutive securities excluded from computation of earnings per share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Antidilutive Securities Excluded From Computation Of Earnings Per Share, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Shares not included in computation of diluted loss per share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeTable" xlink:label="us-gaap_DerivativeTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeTable" xlink:to="us-gaap_DerivativeTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeTable_lbl" xml:lang="en-US">Derivative [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeLineItems" xlink:label="us-gaap_DerivativeLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeLineItems" xlink:to="us-gaap_DerivativeLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeLineItems_lbl" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeLineItems_lbl" xml:lang="en-US">Derivative</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeNotionalAmount" xlink:to="us-gaap_DerivativeNotionalAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US">Derivative, Notional Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US">Derivative notional amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesMember" xlink:to="us-gaap_AccruedLiabilitiesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesMember_lbl" xml:lang="en-US">Accrued Liabilities [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedLiabilitiesMember_lbl" xml:lang="en-US">Accrued expenses and other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_lbl" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_DerivativeContractTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeContractTypeDomain_lbl" xml:lang="en-US">Derivative Contract [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignExchangeForwardMember" xlink:to="us-gaap_ForeignExchangeForwardMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignExchangeForwardMember_lbl" xml:lang="en-US">Foreign Exchange Forward [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ForeignExchangeForwardMember_lbl" xml:lang="en-US">Foreign currency forward contracts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationAxis_lbl" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_HedgingDesignationDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationDomain_lbl" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xml:lang="en-US">Designated as Hedging Instrument [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xml:lang="en-US">Designated as hedging instrument</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:to="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_lbl" xml:lang="en-US">Derivative Instruments and Hedges, Liabilities, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_lbl" xml:lang="en-US">Derivatives designated as hedging instruments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US">Derivative instruments, gain (loss)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_lbl" xml:lang="en-US">Net gain (loss) recognized in OCI</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) Reclassified From Accumulated Oci Into Income, Effective Portion, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_lbl" xml:lang="en-US">Net (gain) loss reclassified from accumulated OCI into income</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Maximum borrowing capacity</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" xlink:to="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_lbl" xml:lang="en-US">Percentage of eligible accounts subject to the approval of the Lender considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_lbl" xml:lang="en-US">Line Of Credit Facility Maximum Borrowing Capacity Subject To Approval Of the Lender</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_lbl" xml:lang="en-US">Maximum borrowing capacity subject to approval of the lender</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line of Credit Facility, Percentage Of Eligible Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line Of Credit Facility Percentage Of Eligible Unbilled Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible unbilled accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of all eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line Of Credit Facility Percentage Of All Eligible Unbilled Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of all eligible unbilled accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line of Credit Facility, Percentage Of Eligible Foreign Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible foreign accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of all eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line Of Credit Facility Percentage Of All Eligible Foreign Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of all eligible foreign accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Amount of all eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line Of Credit Facility Amount Of All Eligible Foreign Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Amount of all eligible foreign accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityBorrowingBase" xlink:label="inod_LineOfCreditFacilityBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityBorrowingBase" xlink:to="inod_LineOfCreditFacilityBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityBorrowingBase_lbl" xml:lang="en-US">The value of borrowing base considered for the calculation.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityBorrowingBase_lbl" xml:lang="en-US">Line Of Credit facility, Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityBorrowingBase_lbl" xml:lang="en-US">Line of credit facility, borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:to="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" xml:lang="en-US">Threshold minimum required fixed charge coverage ratio under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" xml:lang="en-US">Line of Credit Facility, Covenant Terms, Threshold Minimum Required Fixed Charge Coverage Ratio</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" xml:lang="en-US">Threshold minimum fixed charge coverage ratio required to be maintained</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US">Interest rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_lbl" xml:lang="en-US">Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]</link:label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>inod-20250331_pre.xml
<DESCRIPTION>EX-101.PRE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.10.0.1 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/7/2025 10:51:25 PM-->
<!--Modified on: 5/7/2025 10:51:25 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#StatementCondensedConsolidatedBalanceSheets" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#StatementCondensedConsolidatedBalanceSheetsParenthetical" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#StatementCondensedConsolidatedStatementsOfCashFlows" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#StatementCondensedConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSummaryOfSignificantAccountingPoliciesAndEstimates" roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimates" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureAccountsReceivable" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivable" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureGoodwillAndIntangibleAssets" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomeTaxes" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxes" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureOperatingLeases" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeases" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureLongTermObligations" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligations" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureCommitmentsAndContingencies" roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnits" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnits" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureComprehensiveLoss" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrations" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomePerShare" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomePerShare" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureDerivatives" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivatives" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureLineOfCredit" roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCredit" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies" roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureAccountsReceivableTables" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureGoodwillAndIntangibleAssetsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomeTaxesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureOperatingLeasesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureLongTermObligationsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnitsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureComprehensiveLossTables" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomePerShareTables" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomePerShareTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureDerivativesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueBalancesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueBalancesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureAccountsReceivableDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureGoodwillAndIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomeTaxesTaxRateReconciliationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureLongTermObligationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureCommitmentsAndContingenciesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureSegmentReportingAndConcentrationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomePerShareDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureIncomePerShareAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureDerivativesAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20250331.xsd#DisclosureLineOfCreditDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements" roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" />
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="995200090 - Document - Document and Entity Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType_638822550830514731" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType_638822550830514731" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport_638822550830514731" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentQuarterlyReport_638822550830514731" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_638822550830514731" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate_638822550830514731" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_638822550830524861" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentTransitionReport_638822550830524861" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_638822550830524861" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber_638822550830524861" order="5" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_638822550830524861" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName_638822550830524861" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_638822550830524861" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode_638822550830524861" order="7" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber_638822550830524861" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber_638822550830524861" order="8" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_638822550830524861" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1_638822550830524861" order="9" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_638822550830524861" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown_638822550830524861" order="10" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince_638822550830524861" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince_638822550830524861" order="11" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_638822550830524861" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode_638822550830524861" order="12" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_638822550830534780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode_638822550830534780" order="13" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_638822550830534780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber_638822550830534780" order="14" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_638822550830534780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle_638822550830534780" order="15" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_638822550830534780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol_638822550830534780" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_638822550830534780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName_638822550830534780" order="17" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_638822550830534780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCurrentReportingStatus_638822550830534780" order="18" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_638822550830534780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityInteractiveDataCurrent_638822550830534780" order="19" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_638822550830534780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFilerCategory_638822550830534780" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness_638822550830544817" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntitySmallBusiness_638822550830544817" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_638822550830544817" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany_638822550830544817" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_638822550830544817" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityShellCompany_638822550830544817" order="23" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_638822550830544817" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCommonStockSharesOutstanding_638822550830544817" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_638822550830544817" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey_638822550830544817" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_638822550830544817" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CurrentFiscalYearEndDate_638822550830544817" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_638822550830554771" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalYearFocus_638822550830554771" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_638822550830554771" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalPeriodFocus_638822550830554771" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_638822550830554771" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag_638822550830554771" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets" xlink:type="extended" xlink:title="995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638822550830554771" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_23" xlink:to="us-gaap_AssetsAbstract_638822550830554771" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638822550830554771" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638822550830554771" xlink:to="us-gaap_AssetsCurrentAbstract_638822550830554771" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638822550830564848" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638822550830554771" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638822550830564848" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638822550830564848" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638822550830554771" xlink:to="us-gaap_AccountsReceivableNetCurrent_638822550830564848" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638822550830564848" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638822550830554771" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638822550830564848" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638822550830564848" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638822550830554771" xlink:to="us-gaap_AssetsCurrent_638822550830564848" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638822550830564848" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638822550830554771" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638822550830564848" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638822550830564848" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638822550830554771" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638822550830564848" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638822550830564848" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638822550830554771" xlink:to="us-gaap_OtherAssetsNoncurrent_638822550830564848" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638822550830564848" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638822550830554771" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638822550830564848" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638822550830564848" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638822550830554771" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638822550830564848" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638822550830564848" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638822550830554771" xlink:to="us-gaap_Goodwill_638822550830564848" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638822550830574863" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638822550830554771" xlink:to="us-gaap_Assets_638822550830574863" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638822550830574863" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_23" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638822550830574863" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638822550830574863" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638822550830574863" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638822550830574863" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_638822550830624817" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638822550830574863" xlink:to="us-gaap_AccountsPayableCurrent_638822550830624817" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_638822550830624817" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638822550830574863" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638822550830624817" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_638822550830624817" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638822550830574863" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_638822550830624817" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638822550830634831" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638822550830574863" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638822550830634831" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent_638822550830634831" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638822550830574863" xlink:to="us-gaap_TaxesPayableCurrent_638822550830634831" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638822550830634831" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638822550830574863" xlink:to="inod_CurrentPortionOfLongTermObligations_638822550830634831" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638822550830634831" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638822550830574863" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638822550830634831" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638822550830634831" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638822550830574863" xlink:to="us-gaap_LiabilitiesCurrent_638822550830634831" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638822550830634831" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638822550830574863" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638822550830634831" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638822550830634831" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638822550830574863" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638822550830634831" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638822550830644792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638822550830574863" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638822550830644792" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638822550830644792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638822550830574863" xlink:to="us-gaap_Liabilities_638822550830644792" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638822550830644792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638822550830574863" xlink:to="us-gaap_CommitmentsAndContingencies_638822550830644792" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract_638822550830644792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638822550830574863" xlink:to="us-gaap_StockholdersEquityAbstract_638822550830644792" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638822550830644792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638822550830644792" xlink:to="us-gaap_PreferredStockValue_638822550830644792" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638822550830644792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638822550830644792" xlink:to="us-gaap_CommonStockValue_638822550830644792" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital_638822550830654740" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638822550830644792" xlink:to="us-gaap_AdditionalPaidInCapital_638822550830654740" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638822550830654740" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638822550830644792" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638822550830654740" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638822550830654740" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638822550830644792" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638822550830654740" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_638822550830654740" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638822550830644792" xlink:to="us-gaap_StockholdersEquityBeforeTreasuryStock_638822550830654740" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_638822550830654740" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638822550830644792" xlink:to="us-gaap_TreasuryStockValue_638822550830654740" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638822550830654740" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638822550830644792" xlink:to="us-gaap_StockholdersEquity_638822550830654740" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_638822550830664734" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638822550830644792" xlink:to="us-gaap_MinorityInterest_638822550830664734" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638822550830664734" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638822550830644792" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638822550830664734" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638822550830664734" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638822550830574863" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638822550830664734" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_89" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized_638822550830674735" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_PreferredStockSharesAuthorized_638822550830674735" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued_638822550830674735" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_PreferredStockSharesIssued_638822550830674735" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding_638822550830674735" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_PreferredStockSharesOutstanding_638822550830674735" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638822550830674735" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638822550830674735" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_638822550830684744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockSharesAuthorized_638822550830684744" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638822550830684744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockSharesIssued_638822550830684744" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638822550830684744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockSharesOutstanding_638822550830684744" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638822550830684744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_TreasuryStockCommonShares_638822550830684744" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:type="extended" xlink:title="995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract_637077091637837009" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638822550830694748" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638822550830694748" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract_638822550830694748" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_CostsAndExpensesAbstract_638822550830694748" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts_638822550830704736" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638822550830694748" xlink:to="us-gaap_DirectOperatingCosts_638822550830704736" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638822550830704736" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638822550830694748" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638822550830704736" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_638822550830704736" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638822550830694748" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_638822550830704736" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses_638822550830704736" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638822550830694748" xlink:to="us-gaap_CostsAndExpenses_638822550830704736" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638822550830714739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638822550830694748" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638822550830714739" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638822550830714739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638822550830714739" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638822550830714739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_ProfitLoss_638822550830714739" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638822550830714739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638822550830714739" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638822550830724744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_NetIncomeLoss_638822550830724744" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract_638822550830724744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_EarningsPerShareAbstract_638822550830724744" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638822550830724744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_638822550830724744" xlink:to="us-gaap_EarningsPerShareBasic_638822550830724744" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638822550830724744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_638822550830724744" xlink:to="us-gaap_EarningsPerShareDiluted_638822550830724744" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638822550830734739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638822550830734739" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638822550830734739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638822550830734739" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638822550830734739" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638822550830734739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638822550830734739" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638822550830734739" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638822550830744737" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638822550830744737" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638822550830744737" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638822550830744737" xlink:to="us-gaap_ProfitLoss_638822550830744737" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638822550830744737" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638822550830744737" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638822550830744737" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638822550830754741" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638822550830744737" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638822550830754741" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638822550830764737" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638822550830744737" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638822550830764737" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638822550830764737" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638822550830744737" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638822550830764737" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638822550830774742" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638822550830744737" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638822550830774742" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638822550830774742" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638822550830744737" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638822550830774742" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_638822550830774742" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638822550830744737" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_638822550830774742" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638822550830774742" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638822550830774742" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638822550830774742" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638822550830774742" xlink:to="us-gaap_ProfitLoss_638822550830774742" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638822550830784744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638822550830774742" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638822550830784744" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638822550830784744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638822550830784744" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638822550830784744" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638822550830784744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638822550830784744" xlink:to="us-gaap_ShareBasedCompensation_638822550830784744" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638822550830784744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638822550830784744" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638822550830784744" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638822550830784744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638822550830784744" xlink:to="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638822550830784744" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638822550830784744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638822550830784744" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638822550830784744" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638822550830784744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638822550830784744" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638822550830784744" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638822550830784744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638822550830784744" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638822550830784744" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638822550830794763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638822550830784744" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638822550830794763" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638822550830794763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638822550830784744" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638822550830794763" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638822550830794763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638822550830784744" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638822550830794763" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638822550830794763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638822550830784744" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638822550830794763" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638822550830794763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638822550830784744" xlink:to="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638822550830794763" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550830794763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638822550830774742" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638822550830794763" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638822550830794763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638822550830794763" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638822550830794763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638822550830794763" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638822550830794763" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638822550830804759" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638822550830794763" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638822550830804759" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638822550830804759" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638822550830804759" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638822550830804759" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638822550830804759" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638822550830804759" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_638822550830804759" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638822550830804759" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638822550830804759" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638822550830804759" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638822550830804759" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638822550830804759" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638822550830804759" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638822550830804759" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638822550830814739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638822550830814739" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638822550830814739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638822550830814739" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6388225508308147391" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6388225508308147391" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_638822550830814739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_638822550830814739" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid_638822550830854744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638822550830814739" xlink:to="us-gaap_IncomeTaxesPaid_638822550830854744" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments_638822550830864743" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638822550830814739" xlink:to="us-gaap_OperatingLeasePayments_638822550830864743" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_638822550830864743" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638822550830814739" xlink:to="us-gaap_InterestPaidNet_638822550830864743" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_469" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638822550830864743" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_469" xlink:to="us-gaap_StatementTable_638822550830864743" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638822550830864743" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638822550830864743" xlink:to="us-gaap_StatementEquityComponentsAxis_638822550830864743" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638822550830864743" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638822550830864743" xlink:to="us-gaap_CommonStockMember_638822550830864743" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638822550830874739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638822550830864743" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638822550830874739" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_638822550830874739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638822550830864743" xlink:to="us-gaap_RetainedEarningsMember_638822550830874739" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638822550830874739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638822550830864743" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638822550830874739" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember_638822550830874739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638822550830864743" xlink:to="us-gaap_TreasuryStockCommonMember_638822550830874739" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember_638822550830874739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638822550830864743" xlink:to="us-gaap_NoncontrollingInterestMember_638822550830874739" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638822550830874739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638822550830864743" xlink:to="us-gaap_EquityComponentDomain_638822550830874739" order="7" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638822550830874739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638822550830864743" xlink:to="us-gaap_StatementLineItems_638822550830874739" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638822550830874739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638822550830874739" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638822550830874739" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_TreasuryStockCommonShares_638822550830874739" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_638822550830884751" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_SharesOutstanding_638822550830884751" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638822550830884751" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_NetIncomeLoss_638822550830884751" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638822550830884751" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638822550830884751" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638822550830884751" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638822550830884751" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638822550830884751" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638822550830884751" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638822550830884751" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638822550830884751" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_638822550830884751" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_638822550830884751" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_638822550830884751" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_638822550830884751" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638822550830894765" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638822550830894765" order="11" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638822550830894765" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638822550830894765" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638822550830894765" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638822550830894765" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638822550830894765" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638822550830894765" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638822550830894765" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_TreasuryStockCommonShares_638822550830894765" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_638822550830894765" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638822550830874739" xlink:to="us-gaap_SharesOutstanding_638822550830894765" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimates" xlink:type="extended" xlink:title="995210101 - Disclosure - Summary of Significant Accounting Policies and Estimates">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_538" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638822550830904764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_538" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638822550830904764" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivable" xlink:type="extended" xlink:title="995210201 - Disclosure - Accounts Receivable">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndNontradeReceivableTextBlock" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock_638822550830904764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_AccountsAndNontradeReceivableTextBlock_638822550830904764" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets" xlink:type="extended" xlink:title="995210301 - Disclosure - Goodwill and Intangible Assets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_638822550830914770" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_2" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_638822550830914770" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxes" xlink:type="extended" xlink:title="995210401 - Disclosure - Income Taxes">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_638822550830914770" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_638822550830914770" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeases" xlink:type="extended" xlink:title="995210501 - Disclosure - Operating Leases">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_638822550830924781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_638822550830924781" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligations" xlink:type="extended" xlink:title="995210601 - Disclosure - Long-term obligations">
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LongTermObligationsDisclosureTextBlock" xlink:label="inod_LongTermObligationsDisclosureTextBlock_638822550830924781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract" xlink:to="inod_LongTermObligationsDisclosureTextBlock_638822550830924781" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies" xlink:type="extended" xlink:title="995210701 - Disclosure - Commitments and Contingencies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638822550830924781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_8" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638822550830924781" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnits" xlink:type="extended" xlink:title="995210801 - Disclosure - Stock Options and Restricted Stock Units">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638822550830934760" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_11" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638822550830934760" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss" xlink:type="extended" xlink:title="995210901 - Disclosure - Comprehensive loss">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_638822550830934760" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock_638822550830934760" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations" xlink:type="extended" xlink:title="995211001 - Disclosure - Segment reporting and concentrations">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_638822550830934760" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_20" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_638822550830934760" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomePerShare" xlink:type="extended" xlink:title="995211101 - Disclosure - Income Per Share">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_63" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock_638822550830944785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_63" xlink:to="us-gaap_EarningsPerShareTextBlock_638822550830944785" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivatives" xlink:type="extended" xlink:title="995211201 - Disclosure - Derivatives">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_66" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_638822550830944785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_66" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_638822550830944785" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLineOfCredit" xlink:type="extended" xlink:title="995211301 - Disclosure - Line of Credit">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="us-gaap_LineOfCreditFacilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock_638822550830954851" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock_638822550830954851" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies" xlink:type="extended" xlink:title="99920102 - Disclosure - Summary of Significant Accounting Policies and Estimates (Policies)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_72" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638822550830954851" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638822550830954851" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock_638822550830954851" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ConsolidationPolicyTextBlock_638822550830954851" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates_638822550830954851" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_UseOfEstimates_638822550830954851" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk_638822550830954851" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ConcentrationRiskCreditRisk_638822550830954851" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_638822550830954851" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_638822550830954851" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_638822550830954851" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_638822550830954851" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638822550830964764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638822550830964764" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock_638822550830964764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_DerivativesPolicyTextBlock_638822550830964764" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_638822550830964764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_638822550830964764" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_638822550830964764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_638822550830964764" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638822550830964764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638822550830964764" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638822550830964764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638822550830964764" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesTables" xlink:type="extended" xlink:title="99930103 - Disclosure - Summary of Significant Accounting Policies and Estimates (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638822550830974756" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638822550830974756" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_638822550830974756" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_638822550830974756" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables" xlink:type="extended" xlink:title="99930203 - Disclosure - Accounts Receivable (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_638822550830974756" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_1" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_638822550830974756" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_638822550830974756" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_1" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_638822550830974756" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables" xlink:type="extended" xlink:title="99930303 - Disclosure - Goodwill and Intangible Assets (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_638822550830984759" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_638822550830984759" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638822550830984759" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638822550830984759" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_638822550830984759" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_638822550830984759" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables" xlink:type="extended" xlink:title="99930403 - Disclosure - Income Taxes (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638822550830984759" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638822550830984759" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638822550830994764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638822550830994764" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables" xlink:type="extended" xlink:title="99930503 - Disclosure - Operating Leases (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_638822550830994764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_1" xlink:to="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_638822550830994764" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638822550830994764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_1" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638822550830994764" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_638822550830994764" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_1" xlink:to="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_638822550830994764" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables" xlink:type="extended" xlink:title="99930603 - Disclosure - Long-term obligations (Tables)">
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LongTermObligationsDisclosureTableTextBlock" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_638822550831004766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract" xlink:to="inod_LongTermObligationsDisclosureTableTextBlock_638822550831004766" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables" xlink:type="extended" xlink:title="99930803 - Disclosure - Stock Options and Restricted Stock Units (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_105" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_StockOptionsTable" xlink:label="inod_StockOptionsTable_638822550831004766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_105" xlink:to="inod_StockOptionsTable_638822550831004766" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638822550831004766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsTable_638822550831004766" xlink:to="us-gaap_AwardTypeAxis_638822550831004766" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831004766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638822550831004766" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831004766" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638822550831004766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831004766" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638822550831004766" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638822550831014767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsTable_638822550831004766" xlink:to="us-gaap_PlanNameAxis_638822550831014767" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638822550831014767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638822550831014767" xlink:to="us-gaap_PlanNameDomain_638822550831014767" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember_638822550831014767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638822550831014767" xlink:to="inod_EquityPlansMember_638822550831014767" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_StockOptionsLineItems" xlink:label="inod_StockOptionsLineItems_638822550831014767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsTable_638822550831004766" xlink:to="inod_StockOptionsLineItems_638822550831014767" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_638822550831014767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsLineItems_638822550831014767" xlink:to="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_638822550831014767" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_638822550831014767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsLineItems_638822550831014767" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_638822550831014767" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_638822550831014767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsLineItems_638822550831014767" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_638822550831014767" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables" xlink:type="extended" xlink:title="99930903 - Disclosure - Comprehensive loss (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_638822550831024762" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_638822550831024762" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables" xlink:type="extended" xlink:title="99931003 - Disclosure - Segment reporting and concentrations (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_115" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_638822550831024762" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_115" xlink:to="us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock_638822550831024762" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_638822550831024762" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_115" xlink:to="us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_638822550831024762" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638822550831024762" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_115" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638822550831024762" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_638822550831024762" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_115" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_638822550831024762" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomePerShareTables" xlink:type="extended" xlink:title="99931103 - Disclosure - Income Per Share (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_120" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638822550831034763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_120" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638822550831034763" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesTables" xlink:type="extended" xlink:title="99931303 - Disclosure - Derivatives (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_123" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638822550831034763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_123" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638822550831034763" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638822550831034763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_123" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638822550831034763" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails" xlink:type="extended" xlink:title="99940101 - Disclosure - Summary of Significant Accounting Policies and Estimates (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_160" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638822550831044763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_160" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638822550831044763" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638822550831044763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638822550831044763" xlink:to="srt_StatementGeographicalAxis_638822550831044763" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638822550831044763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638822550831044763" xlink:to="srt_SegmentGeographicalDomain_638822550831044763" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember_638822550831044763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831044763" xlink:to="srt_AsiaMember_638822550831044763" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US_638822550831044763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831044763" xlink:to="country_US_638822550831044763" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638822550831044763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638822550831044763" xlink:to="srt_RangeAxis_638822550831044763" order="2" use="optional" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638822550831044763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638822550831044763" xlink:to="srt_RangeMember_638822550831044763" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638822550831044763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638822550831044763" xlink:to="srt_MinimumMember_638822550831044763" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638822550831044763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638822550831044763" xlink:to="srt_MaximumMember_638822550831044763" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638822550831044763" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638822550831044763" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638822550831044763" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550831054767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638822550831044763" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550831054767" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="us-gaap_SoftwareDevelopmentMember_638822550831054767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550831054767" xlink:to="us-gaap_SoftwareDevelopmentMember_638822550831054767" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_638822550831054767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550831054767" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember_638822550831054767" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638822550831054767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638822550831044763" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638822550831054767" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638822550831054767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638822550831054767" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638822550831054767" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod_638822550831054767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638822550831054767" xlink:to="us-gaap_CapitalizedContractCostAmortizationPeriod_638822550831054767" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_638822550831064768" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638822550831054767" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_638822550831064768" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638822550831074787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638822550831054767" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638822550831074787" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638822550831074787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638822550831054767" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638822550831074787" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638822550831074787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638822550831054767" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638822550831074787" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueBalancesDetails" xlink:type="extended" xlink:title="99940102 - Disclosure - Summary of Significant Accounting Policies and Estimates - Deferred revenue balances (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638822550831074787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_3" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638822550831074787" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueDetails" xlink:type="extended" xlink:title="99940103 - Disclosure - Summary of Significant Accounting Policies and Estimates - Deferred revenue (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638822550831084767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638822550831084767" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenuePeriodIncreaseDecrease" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease_638822550831084767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_DeferredRevenuePeriodIncreaseDecrease_638822550831084767" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_638822550831084767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1_638822550831084767" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_638822550831084767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_638822550831084767" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_6388225508310847671" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_6388225508310847671" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" xlink:type="extended" xlink:title="99940201 - Disclosure - Accounts Receivable (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638822550831094778" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_2" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638822550831094778" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638822550831094778" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_2" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638822550831094778" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AllowanceForDoubtfulAccountsBillingAdjustment" xlink:label="inod_AllowanceForDoubtfulAccountsBillingAdjustment_638822550831094778" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_2" xlink:to="inod_AllowanceForDoubtfulAccountsBillingAdjustment_638822550831094778" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638822550831094778" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_2" xlink:to="us-gaap_AccountsReceivableNetCurrent_638822550831094778" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" xlink:type="extended" xlink:title="99940202 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638822550831104801" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638822550831104801" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638822550831104801" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638822550831104801" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_638822550831104801" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_638822550831104801" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_638822550831114803" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_638822550831114803" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638822550831114803" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638822550831114803" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" xlink:type="extended" xlink:title="99940301 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638822550831114803" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" xlink:to="us-gaap_Goodwill_638822550831114803" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_638822550831124795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_638822550831124795" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638822550831124795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" xlink:to="us-gaap_Goodwill_638822550831124795" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" xlink:type="extended" xlink:title="99940302 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638822550831124795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638822550831124795" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638822550831124795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638822550831124795" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638822550831124795" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550831124795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638822550831124795" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550831124795" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember_638822550831124795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550831124795" xlink:to="inod_AcquiredIntangibleAssetsMember_638822550831124795" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember_638822550831124795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638822550831124795" xlink:to="us-gaap_DevelopedTechnologyRightsMember_638822550831124795" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember_638822550831124795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638822550831124795" xlink:to="us-gaap_CustomerRelationshipsMember_638822550831124795" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember_638822550831134882" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638822550831124795" xlink:to="us-gaap_TrademarksAndTradeNamesMember_638822550831134882" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember_638822550831134882" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638822550831124795" xlink:to="us-gaap_PatentsMember_638822550831134882" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DatabasesMember" xlink:label="us-gaap_DatabasesMember_638822550831134882" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638822550831124795" xlink:to="us-gaap_DatabasesMember_638822550831134882" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638822550831134882" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550831124795" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638822550831134882" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_CapitalizedSoftwareDevelopmentCostMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_638822550831134882" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember_638822550831134882" xlink:to="inod_CapitalizedSoftwareDevelopmentCostMember_638822550831134882" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_638822550831134882" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember_638822550831134882" xlink:to="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_638822550831134882" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638822550831134882" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638822550831124795" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638822550831134882" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638822550831134882" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638822550831134882" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638822550831134882" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638822550831134882" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638822550831134882" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638822550831134882" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_638822550831144846" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638822550831134882" xlink:to="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_638822550831144846" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638822550831144846" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638822550831134882" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638822550831144846" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" xlink:type="extended" xlink:title="99940303 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_638822550831144846" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_638822550831144846" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638822550831144846" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638822550831144846" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638822550831144846" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638822550831144846" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638822550831144846" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638822550831144846" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638822550831144846" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638822550831144846" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638822550831154805" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638822550831154805" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638822550831154805" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638822550831154805" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" xlink:type="extended" xlink:title="99940304 - Disclosure - Goodwill and Intangible Assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_236" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638822550831154805" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_236" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638822550831154805" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638822550831154805" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638822550831154805" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638822550831154805" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550831164789" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638822550831154805" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550831164789" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember_638822550831164789" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550831164789" xlink:to="inod_AcquiredIntangibleAssetsMember_638822550831164789" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638822550831164789" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638822550831164789" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638822550831164789" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638822550831164789" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638822550831154805" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638822550831164789" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638822550831164789" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638822550831164789" xlink:to="us-gaap_Goodwill_638822550831164789" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_638822550831174808" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638822550831164789" xlink:to="us-gaap_AmortizationOfIntangibleAssets_638822550831174808" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" xlink:type="extended" xlink:title="99940401 - Disclosure - Income Taxes - Tax rate reconciliation (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637505925387840601" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_IncomeTaxesTable" xlink:label="inod_IncomeTaxesTable_638822550831184785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637505925387840601" xlink:to="inod_IncomeTaxesTable_638822550831184785" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638822550831184785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesTable_638822550831184785" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638822550831184785" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638822550831184785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638822550831184785" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638822550831184785" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember_638822550831194779" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638822550831184785" xlink:to="us-gaap_DomesticCountryMember_638822550831194779" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_IncomeTaxesLineItems" xlink:label="inod_IncomeTaxesLineItems_638822550831194779" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesTable_638822550831184785" xlink:to="inod_IncomeTaxesLineItems_638822550831194779" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638822550831194779" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638822550831194779" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638822550831194779" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_638822550831194779" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638822550831194779" xlink:to="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_638822550831194779" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638822550831194779" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638822550831194779" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638822550831194779" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638822550831194779" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638822550831194779" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638822550831204772" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638822550831204772" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_638822550831204772" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent_638822550831204772" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638822550831204772" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638822550831204772" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638822550831204772" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638822550831204772" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638822550831204772" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638822550831204772" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638822550831204772" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638822550831204772" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638822550831214911" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638822550831214911" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_638822550831214911" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_638822550831214911" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638822550831214911" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638822550831214911" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638822550831214911" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638822550831214911" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638822550831214911" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638822550831214911" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638822550831224812" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638822550831194779" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638822550831224812" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="extended" xlink:title="99940402 - Disclosure - Income Taxes - Unrecognized tax benefits (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_638822550831224812" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefits_638822550831224812" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_638822550831224812" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_638822550831224812" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638822550831224812" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638822550831224812" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_638822550831234774" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_638822550831234774" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_638822550831234774" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_638822550831234774" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_638822550831234774" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefits_638822550831234774" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" xlink:type="extended" xlink:title="99940501 - Disclosure - Operating Leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable_638822550831234774" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_5" xlink:to="us-gaap_LesseeLeaseDescriptionTable_638822550831234774" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638822550831234774" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638822550831234774" xlink:to="srt_RangeAxis_638822550831234774" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638822550831234774" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638822550831234774" xlink:to="srt_RangeMember_638822550831234774" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638822550831234774" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638822550831234774" xlink:to="srt_MinimumMember_638822550831234774" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638822550831244767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638822550831234774" xlink:to="srt_MaximumMember_638822550831244767" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_638822550831244767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638822550831234774" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_638822550831244767" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_638822550831244767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638822550831244767" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_638822550831244767" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_PercentageOfRentalEscalations" xlink:label="inod_PercentageOfRentalEscalations_638822550831244767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638822550831244767" xlink:to="inod_PercentageOfRentalEscalations_638822550831244767" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" xlink:type="extended" xlink:title="99940502 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable_638822550831244767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_2" xlink:to="us-gaap_LesseeLeaseDescriptionTable_638822550831244767" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638822550831244767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638822550831244767" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638822550831244767" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550831244767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638822550831244767" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550831244767" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LongTermOperatingLeaseMember" xlink:label="inod_LongTermOperatingLeaseMember_638822550831244767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550831244767" xlink:to="inod_LongTermOperatingLeaseMember_638822550831244767" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ShortTermOperatingLeaseMember" xlink:label="inod_ShortTermOperatingLeaseMember_638822550831254780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638822550831244767" xlink:to="inod_ShortTermOperatingLeaseMember_638822550831254780" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_638822550831254780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638822550831244767" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_638822550831254780" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense_638822550831254780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638822550831254780" xlink:to="us-gaap_OperatingLeaseExpense_638822550831254780" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" xlink:type="extended" xlink:title="99940503 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_638822550831254780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_638822550831254780" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638822550831254780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638822550831254780" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638822550831254780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638822550831254780" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638822550831264777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638822550831264777" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638822550831264777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638822550831264777" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638822550831264777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638822550831264777" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638822550831264777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638822550831264777" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638822550831264777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638822550831264777" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638822550831264777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiability_638822550831264777" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638822550831264777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638822550831264777" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638822550831274780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638822550831274780" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638822550831274780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiability_638822550831274780" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" xlink:type="extended" xlink:title="99940504 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638822550831284775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_4" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638822550831284775" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638822550831284775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_4" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638822550831284775" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" xlink:type="extended" xlink:title="99940601 - Disclosure - Long-term obligations (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638822550831294768" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638822550831294768" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_MicrosoftLicensesObligations" xlink:label="inod_MicrosoftLicensesObligations_638822550831294768" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_MicrosoftLicensesObligations_638822550831294768" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations_638822550831304768" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_TotalLongTermObligations_638822550831304768" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638822550831304768" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_CurrentPortionOfLongTermObligations_638822550831304768" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638822550831304768" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638822550831304768" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LicensesObligationsAmountPayableAnnually" xlink:label="inod_LicensesObligationsAmountPayableAnnually_638822550831304768" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_LicensesObligationsAmountPayableAnnually_638822550831304768" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails" xlink:type="extended" xlink:title="99940701 - Disclosure - Commitments and Contingencies (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LitigationReserve" xlink:label="us-gaap_LitigationReserve_638822550831314767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" xlink:to="us-gaap_LitigationReserve_638822550831314767" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_InterestRateDescriptionLitigation" xlink:label="inod_InterestRateDescriptionLitigation_638822550831314767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" xlink:to="inod_InterestRateDescriptionLitigation_638822550831314767" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_638822550831314767" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_638822550831314767" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails" xlink:type="extended" xlink:title="99940801 - Disclosure - Stock Options and Restricted Stock Units - Stock-Based Compensation Expense (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637189857670031437" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638822550831324766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637189857670031437" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638822550831324766" order="1" use="optional" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638822550831324766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638822550831324766" xlink:to="us-gaap_PlanNameAxis_638822550831324766" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638822550831324766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638822550831324766" xlink:to="us-gaap_PlanNameDomain_638822550831324766" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember_638822550831334765" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638822550831324766" xlink:to="inod_EquityPlansMember_638822550831334765" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems_638822550831334765" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638822550831324766" xlink:to="us-gaap_DerivativesFairValueLineItems_638822550831334765" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense_638822550831334765" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638822550831334765" xlink:to="us-gaap_StockOptionPlanExpense_638822550831334765" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638822550831334765" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638822550831334765" xlink:to="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638822550831334765" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638822550831334765" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638822550831334765" xlink:to="us-gaap_ShareBasedCompensation_638822550831334765" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails" xlink:type="extended" xlink:title="99940802 - Disclosure - Stock Options and Restricted Stock Units - Summary of Stock Option Activity (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_338" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831344761" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_338" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831344761" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638822550831354766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831344761" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638822550831354766" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638822550831354766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638822550831354766" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638822550831354766" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638822550831354766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638822550831354766" xlink:to="us-gaap_EmployeeStockOptionMember_638822550831354766" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638822550831354766" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831344761" xlink:to="us-gaap_PlanNameAxis_638822550831354766" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638822550831444776" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638822550831354766" xlink:to="us-gaap_PlanNameDomain_638822550831444776" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember_638822550831444776" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638822550831444776" xlink:to="inod_TwoThousandThirteenStockPlanMember_638822550831444776" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638822550831454775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638822550831444776" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638822550831454775" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831344761" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638822550831454775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638822550831454775" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_638822550831454775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_638822550831454775" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638822550831454775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638822550831454775" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_638822550831454775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_638822550831454775" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6388225508314547751" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6388225508314547751" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638822550831454775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638822550831454775" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_638822550831464782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_638822550831464782" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638822550831464782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638822550831464782" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638822550831464782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638822550831464782" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_638822550831464782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_638822550831464782" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6388225508314647821" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6388225508314647821" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638822550831464782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638822550831464782" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_638822550831464782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_638822550831464782" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638822550831474797" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638822550831474797" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_638822550831474797" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_638822550831474797" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_638822550831474797" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_638822550831474797" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638822550831474797" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638822550831474797" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638822550831474797" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638822550831474797" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_638822550831474797" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831454775" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_638822550831474797" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails" xlink:type="extended" xlink:title="99940803 - Disclosure - Stock Options and Restricted Stock Units - Summary of Restricted Stock Unit activity (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_412015" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831484782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_412015" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831484782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_638822550831484782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831484782" xlink:to="srt_TitleOfIndividualAxis_638822550831484782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638822550831484782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis_638822550831484782" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638822550831484782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NonEmployeeMember" xlink:label="inod_NonEmployeeMember_638822550831484782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain_638822550831484782" xlink:to="inod_NonEmployeeMember_638822550831484782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638822550831484782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831484782" xlink:to="us-gaap_AwardTypeAxis_638822550831484782" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831484782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638822550831484782" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831484782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638822550831494792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831484782" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638822550831494792" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638822550831494792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831484782" xlink:to="us-gaap_PlanNameAxis_638822550831494792" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638822550831494792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638822550831494792" xlink:to="us-gaap_PlanNameDomain_638822550831494792" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember_638822550831494792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638822550831494792" xlink:to="inod_EquityPlansMember_638822550831494792" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831484782" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638822550831494792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638822550831494792" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638822550831494792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638822550831494792" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638822550831494792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638822550831494792" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_638822550831494792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_638822550831494792" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638822550831504777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638822550831504777" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638822550831504777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638822550831504777" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638822550831504777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638822550831504777" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_638822550831504777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_638822550831504777" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638822550831504777" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638822550831504777" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6388225508315047771" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831494792" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6388225508315047771" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails" xlink:type="extended" xlink:title="99940804 - Disclosure - Stock Options and Restricted Stock Units - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637048505955174857" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831514776" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637048505955174857" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831514776" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638822550831514776" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831514776" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638822550831514776" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638822550831514776" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638822550831514776" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638822550831514776" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638822550831514776" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638822550831514776" xlink:to="us-gaap_EmployeeStockOptionMember_638822550831514776" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638822550831514776" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831514776" xlink:to="us-gaap_AwardTypeAxis_638822550831514776" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831514776" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638822550831514776" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831514776" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638822550831514776" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831514776" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638822550831514776" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831514776" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638822550831514776" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831514776" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638822550831524775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831514776" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638822550831524775" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638822550831524775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831514776" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638822550831524775" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638822550831524775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638822550831514776" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638822550831524775" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" xlink:type="extended" xlink:title="99940901 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638822550831524775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638822550831524775" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638822550831524775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638822550831524775" xlink:to="us-gaap_StatementEquityComponentsAxis_638822550831524775" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638822550831524775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638822550831524775" xlink:to="us-gaap_EquityComponentDomain_638822550831524775" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_638822550831534792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638822550831524775" xlink:to="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_638822550831534792" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_638822550831534792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638822550831524775" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_638822550831534792" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_638822550831534792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638822550831524775" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember_638822550831534792" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638822550831534792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638822550831524775" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638822550831534792" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638822550831534792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638822550831524775" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638822550831534792" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638822550831534792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638822550831534792" xlink:to="us-gaap_StockholdersEquity_638822550831534792" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638822550831534792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638822550831534792" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638822550831534792" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638822550831534792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638822550831534792" xlink:to="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638822550831534792" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_638822550831534792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638822550831534792" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_638822550831534792" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638822550831544783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638822550831534792" xlink:to="us-gaap_StockholdersEquity_638822550831544783" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails" xlink:type="extended" xlink:title="99941001 - Disclosure - Segment reporting and concentrations - Segment assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_489" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831544783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_489" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831544783" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638822550831544783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831544783" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638822550831544783" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638822550831544783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638822550831544783" xlink:to="us-gaap_SegmentDomain_638822550831544783" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_DdsMember" xlink:label="inod_DdsMember_638822550831544783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638822550831544783" xlink:to="inod_DdsMember_638822550831544783" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember_638822550831544783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638822550831544783" xlink:to="inod_SynodexMember_638822550831544783" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember_638822550831544783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638822550831544783" xlink:to="inod_AgilityMember_638822550831544783" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638822550831554782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831544783" xlink:to="us-gaap_SegmentReportingInformationLineItems_638822550831554782" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638822550831554782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831554782" xlink:to="us-gaap_Assets_638822550831554782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638822550831554782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831554782" xlink:to="us-gaap_Goodwill_638822550831554782" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails" xlink:type="extended" xlink:title="99941002 - Disclosure - Segment reporting and concentrations- Significant income statement (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831554782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract_1" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831554782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638822550831554782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831554782" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638822550831554782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638822550831554782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638822550831554782" xlink:to="us-gaap_SegmentDomain_638822550831554782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_DdsMember" xlink:label="inod_DdsMember_638822550831554782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638822550831554782" xlink:to="inod_DdsMember_638822550831554782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember_638822550831554782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638822550831554782" xlink:to="inod_SynodexMember_638822550831554782" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember_638822550831564782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638822550831554782" xlink:to="inod_AgilityMember_638822550831564782" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638822550831564782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831554782" xlink:to="us-gaap_SegmentReportingInformationLineItems_638822550831564782" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638822550831564782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831564782" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638822550831564782" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts_638822550831564782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831564782" xlink:to="us-gaap_DirectOperatingCosts_638822550831564782" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638822550831564782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831564782" xlink:to="us-gaap_GrossProfit_638822550831564782" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638822550831564782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831564782" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638822550831564782" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638822550831564782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831564782" xlink:to="us-gaap_OperatingIncomeLoss_638822550831564782" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_638822550831564782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831564782" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_638822550831564782" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638822550831564782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831564782" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638822550831564782" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" xlink:type="extended" xlink:title="99941003 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831574781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831574781" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638822550831574781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831574781" xlink:to="srt_StatementGeographicalAxis_638822550831574781" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638822550831574781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638822550831574781" xlink:to="srt_SegmentGeographicalDomain_638822550831574781" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US_638822550831574781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831574781" xlink:to="country_US_638822550831574781" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA_638822550831574781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831574781" xlink:to="country_CA_638822550831574781" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_GB" xlink:label="country_GB_638822550831574781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831574781" xlink:to="country_GB_638822550831574781" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_NL" xlink:label="country_NL_638822550831574781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831574781" xlink:to="country_NL_638822550831574781" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_OtherPrincipallyEuropeMember" xlink:label="inod_OtherPrincipallyEuropeMember_638822550831584781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831574781" xlink:to="inod_OtherPrincipallyEuropeMember_638822550831584781" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638822550831584781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831574781" xlink:to="us-gaap_SegmentReportingInformationLineItems_638822550831584781" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638822550831584781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831584781" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638822550831584781" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails" xlink:type="extended" xlink:title="99941004 - Disclosure - Segment reporting and concentrations - Long-lived assets by geographic region (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638822550831584781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638822550831584781" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638822550831584781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638822550831584781" xlink:to="srt_StatementGeographicalAxis_638822550831584781" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638822550831584781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638822550831584781" xlink:to="srt_SegmentGeographicalDomain_638822550831584781" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US_638822550831584781" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831584781" xlink:to="country_US_638822550831584781" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA_638822550831594795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831584781" xlink:to="country_CA_638822550831594795" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_GB" xlink:label="country_GB_638822550831594795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831584781" xlink:to="country_GB_638822550831594795" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_PH" xlink:label="country_PH_638822550831594795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831584781" xlink:to="country_PH_638822550831594795" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_IN" xlink:label="country_IN_638822550831594795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831584781" xlink:to="country_IN_638822550831594795" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_LK" xlink:label="country_LK_638822550831594795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831584781" xlink:to="country_LK_638822550831594795" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd#stpr_IL" xlink:label="stpr_IL_638822550831594795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831584781" xlink:to="stpr_IL_638822550831594795" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_DE" xlink:label="country_DE_638822550831594795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831584781" xlink:to="country_DE_638822550831594795" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ForeignCountriesMember" xlink:label="inod_ForeignCountriesMember_638822550831594795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831584781" xlink:to="inod_ForeignCountriesMember_638822550831594795" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638822550831594795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638822550831584781" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638822550831594795" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets_638822550831604778" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638822550831594795" xlink:to="us-gaap_NoncurrentAssets_638822550831604778" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" xlink:type="extended" xlink:title="99941005 - Disclosure - Segment reporting and concentrations (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_541" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831604778" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_541" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831604778" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_638822550831604778" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831604778" xlink:to="srt_MajorCustomersAxis_638822550831604778" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638822550831604778" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_638822550831604778" xlink:to="srt_NameOfMajorCustomerDomain_638822550831604778" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ForeignCustomerMember" xlink:label="inod_ForeignCustomerMember_638822550831604778" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638822550831604778" xlink:to="inod_ForeignCustomerMember_638822550831604778" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_OneClientMember" xlink:label="inod_OneClientMember_638822550831604778" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638822550831604778" xlink:to="inod_OneClientMember_638822550831604778" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_TwoClientMember" xlink:label="inod_TwoClientMember_638822550831614799" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638822550831604778" xlink:to="inod_TwoClientMember_638822550831614799" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ClientMember" xlink:label="inod_ClientMember_638822550831614799" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638822550831604778" xlink:to="inod_ClientMember_638822550831614799" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638822550831614799" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831604778" xlink:to="srt_RangeAxis_638822550831614799" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638822550831614799" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638822550831614799" xlink:to="srt_RangeMember_638822550831614799" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638822550831614799" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638822550831614799" xlink:to="srt_MinimumMember_638822550831614799" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638822550831614799" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831604778" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638822550831614799" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638822550831614799" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638822550831614799" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638822550831614799" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember_638822550831614799" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638822550831614799" xlink:to="us-gaap_SalesRevenueNetMember_638822550831614799" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember_638822550831614799" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638822550831614799" xlink:to="us-gaap_AccountsReceivableMember_638822550831614799" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_638822550831624793" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831604778" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_638822550831624793" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638822550831624793" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_638822550831624793" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638822550831624793" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember_638822550831624793" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638822550831624793" xlink:to="us-gaap_CustomerConcentrationRiskMember_638822550831624793" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638822550831624793" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831604778" xlink:to="srt_StatementGeographicalAxis_638822550831624793" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638822550831624793" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638822550831624793" xlink:to="srt_SegmentGeographicalDomain_638822550831624793" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US_638822550831624793" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831624793" xlink:to="country_US_638822550831624793" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember_638822550831624793" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638822550831624793" xlink:to="us-gaap_NonUsMember_638822550831624793" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638822550831624793" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638822550831604778" xlink:to="us-gaap_SegmentReportingInformationLineItems_638822550831624793" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638822550831634820" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831624793" xlink:to="us-gaap_NumberOfReportableSegments_638822550831634820" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638822550831634820" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831624793" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638822550831634820" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_NumberOfClient" xlink:label="inod_NumberOfClient_638822550831634820" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831624793" xlink:to="inod_NumberOfClient_638822550831634820" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1_638822550831634820" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638822550831624793" xlink:to="us-gaap_ConcentrationRiskPercentage1_638822550831634820" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails" xlink:type="extended" xlink:title="99941101 - Disclosure - Income Per Share (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_563" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638822550831644783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_563" xlink:to="us-gaap_NetIncomeLoss_638822550831644783" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638822550831644783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_563" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638822550831644783" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638822550831644783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_563" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638822550831644783" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638822550831644783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_563" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638822550831644783" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails" xlink:type="extended" xlink:title="99941102 - Disclosure - Income Per Share - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_573" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638822550831644783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_573" xlink:to="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638822550831644783" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638822550831644783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638822550831644783" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638822550831644783" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_638822550831644783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638822550831644783" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_638822550831644783" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638822550831644783" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_638822550831644783" xlink:to="us-gaap_EmployeeStockOptionMember_638822550831644783" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638822550831654785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638822550831644783" xlink:to="us-gaap_AwardTypeAxis_638822550831654785" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831654785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638822550831654785" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831654785" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638822550831654785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831654785" xlink:to="us-gaap_EmployeeStockOptionMember_638822550831654785" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638822550831654785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638822550831654785" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638822550831654785" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638822550831654785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638822550831644783" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638822550831654785" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638822550831654785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638822550831654785" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638822550831654785" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638822550831654785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638822550831654785" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638822550831654785" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails" xlink:type="extended" xlink:title="99941201 - Disclosure - Derivatives - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955530144" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount_638822550831664796" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955530144" xlink:to="us-gaap_DerivativeNotionalAmount_638822550831664796" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" xlink:type="extended" xlink:title="99941202 - Disclosure - Derivatives - Fair value of derivative instruments (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955495109" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638822550831664796" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955495109" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638822550831664796" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638822550831664796" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638822550831664796" xlink:to="us-gaap_BalanceSheetLocationAxis_638822550831664796" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638822550831664796" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638822550831664796" xlink:to="us-gaap_BalanceSheetLocationDomain_638822550831664796" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember_638822550831664796" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638822550831664796" xlink:to="us-gaap_AccruedLiabilitiesMember_638822550831664796" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_638822550831664796" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638822550831664796" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_638822550831664796" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638822550831664796" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_638822550831664796" xlink:to="us-gaap_DerivativeContractTypeDomain_638822550831664796" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember_638822550831674791" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638822550831664796" xlink:to="us-gaap_ForeignExchangeForwardMember_638822550831674791" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_638822550831674791" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638822550831664796" xlink:to="us-gaap_HedgingDesignationAxis_638822550831674791" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_638822550831674791" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis_638822550831674791" xlink:to="us-gaap_HedgingDesignationDomain_638822550831674791" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_638822550831674791" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationDomain_638822550831674791" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_638822550831674791" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems_638822550831674791" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638822550831664796" xlink:to="us-gaap_DerivativesFairValueLineItems_638822550831674791" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_638822550831674791" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638822550831674791" xlink:to="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_638822550831674791" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" xlink:type="extended" xlink:title="99941203 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_595" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_638822550831674791" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_595" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_638822550831674791" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_638822550831684787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_595" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_638822550831684787" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" xlink:type="extended" xlink:title="99941301 - Disclosure - Line Of Credit (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="us-gaap_LineOfCreditFacilityAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable_638822550831684787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract_1" xlink:to="us-gaap_LineOfCreditFacilityTable_638822550831684787" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_638822550831684787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638822550831684787" xlink:to="us-gaap_CreditFacilityAxis_638822550831684787" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638822550831684787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_638822550831684787" xlink:to="us-gaap_CreditFacilityDomain_638822550831684787" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember_638822550831684787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638822550831684787" xlink:to="us-gaap_RevolvingCreditFacilityMember_638822550831684787" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638822550831684787" xlink:to="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638822550831684787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638822550831684787" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender" xlink:label="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_638822550831694787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" xlink:to="inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender_638822550831694787" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" xlink:to="inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" xlink:to="inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638822550831694787" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityBorrowingBase" xlink:label="inod_LineOfCreditFacilityBorrowingBase_638822550831694787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" xlink:to="inod_LineOfCreditFacilityBorrowingBase_638822550831694787" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20250331.xsd#inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_638822550831694787" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" xlink:to="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_638822550831694787" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638822550831704789" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638822550831684787" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638822550831704789" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_638822550831704789" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638822550831704789" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration_638822550831704789" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="extended" xlink:title="995445 - Disclosure - Insider Trading Arrangements" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Apr. 30, 2025</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Document and Entity Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">Mar. 31,  2025<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-35774<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">INNODATA&#160;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_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="re">
<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">13-3475943<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_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">55 Challenger Road<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Ridgefield Park<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">NJ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">07660<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">201<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">371-8000<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_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">INOD<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text"> Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<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_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,745,310<span></span>
</td>
</tr>
<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">0000903651<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_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2025<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_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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>13
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 56,556<span></span>
</td>
<td class="nump">$ 46,897<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of allowance for credit losses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">29,577<span></span>
</td>
<td class="nump">28,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_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">6,216<span></span>
</td>
<td class="nump">6,090<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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">92,349<span></span>
</td>
<td class="nump">81,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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,679<span></span>
</td>
<td class="nump">4,101<span></span>
</td>
</tr>
<tr class="re">
<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 );">Right-of-use-asset, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,036<span></span>
</td>
<td class="nump">4,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_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,276<span></span>
</td>
<td class="nump">1,267<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred income taxes, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7,282<span></span>
</td>
<td class="nump">7,492<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangibles, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">13,570<span></span>
</td>
<td class="nump">13,353<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,018<span></span>
</td>
<td class="nump">1,998<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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">125,210<span></span>
</td>
<td class="nump">113,449<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,500<span></span>
</td>
<td class="nump">4,554<span></span>
</td>
</tr>
<tr class="re">
<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 expenses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5,729<span></span>
</td>
<td class="nump">4,891<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued salaries, wages and related benefits</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">13,608<span></span>
</td>
<td class="nump">13,836<span></span>
</td>
</tr>
<tr class="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 );">Deferred revenues</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">8,028<span></span>
</td>
<td class="nump">8,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_TaxesPayableCurrent', window );">Income and other taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,861<span></span>
</td>
<td class="nump">5,695<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_inod_CurrentPortionOfLongTermObligations', window );">Long-term obligations - current portion</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,505<span></span>
</td>
<td class="nump">1,643<span></span>
</td>
</tr>
<tr class="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 );">Operating lease liability - current portion</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">904<span></span>
</td>
<td class="nump">877<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_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">39,135<span></span>
</td>
<td class="nump">39,506<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">35<span></span>
</td>
<td class="nump">32<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_inod_NoncurrentPortionOfLongTermObligations', window );">Long-term obligations, net of current portion</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">7,096<span></span>
</td>
<td class="nump">6,744<span></span>
</td>
</tr>
<tr class="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 );">Operating lease liability, net of current portion</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,542<span></span>
</td>
<td class="nump">3,778<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">49,808<span></span>
</td>
<td class="nump">50,060<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Serial preferred stock; 4,998,000 shares authorized, none issued and outstanding</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $.01 par value; 75,000,000 shares authorized; 34,929,000 shares issued and 31,745,000 outstanding at March 31, 2025 and 34,484,000 shares issued and 31,300,000 outstanding at December 31, 2024</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">349<span></span>
</td>
<td class="nump">345<span></span>
</td>
</tr>
<tr class="ro">
<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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">56,925<span></span>
</td>
<td class="nump">53,085<span></span>
</td>
</tr>
<tr class="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 );">Retained earnings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">26,764<span></span>
</td>
<td class="nump">18,977<span></span>
</td>
</tr>
<tr class="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 loss</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(2,088)<span></span>
</td>
<td class="num">(2,470)<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_StockholdersEquityBeforeTreasuryStock', window );">Stockholders' Equity before Treasury Stock, Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">81,950<span></span>
</td>
<td class="nump">69,937<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Less: treasury stock, 3,184,000 shares at March 31, 2025 and December 31, 2024, at cost</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(6,465)<span></span>
</td>
<td class="num">(6,465)<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_StockholdersEquity', window );">Stockholders' equity Innodata Inc. and subsidiaries</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">75,485<span></span>
</td>
<td class="nump">63,472<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Non-controlling interests</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="num">(83)<span></span>
</td>
<td class="num">(83)<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Total Stockholders' equity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">75,402<span></span>
</td>
<td class="nump">63,389<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_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 125,210<span></span>
</td>
<td class="nump">$ 113,449<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><i style="font-size:10pt;font-style:italic;">Noncontrolling interests are included within stockholders&#8217; equity in the condensed consolidated balance sheet as the amounts are immaterial.</i></td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_CurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 portion of long-term obligations of the 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;">inod_CurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_NoncurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non-current portion of long-term obligations of the 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;">inod_NoncurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -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_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/2147478777/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2147479170/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>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<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 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 3: 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 4: 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 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)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: 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(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</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(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityBeforeTreasuryStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of stockholders' equity (deficit) items including stock value, paid in capital, retained earnings and including equity attributable to noncontrolling interests and before deducting the carrying value of treasury 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_StockholdersEquityBeforeTreasuryStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479832/842-10-65-8<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-24<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-23<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-5<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-5<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 22: 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 (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 23: 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 (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 27: 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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 28: 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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 29: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 43: 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 44: 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 45: 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 46: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-15<br><br>Reference 47: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-16<br><br>Reference 48: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4I<br><br>Reference 49: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476166/350-60-65-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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-4<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS</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_PreferredStockSharesAuthorized', window );">Serial preferred stock, shares authorized</a></td>
<td class="nump">4,998,000<span></span>
</td>
<td class="nump">4,998,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_PreferredStockSharesIssued', window );">Serial preferred stock, issued</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_PreferredStockSharesOutstanding', window );">Serial preferred stock, outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">75,000,000<span></span>
</td>
<td class="nump">75,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_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">34,929,000<span></span>
</td>
<td class="nump">34,484,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_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">31,745,000<span></span>
</td>
<td class="nump">31,300,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_TreasuryStockCommonShares', window );">Treasury stock, shares</a></td>
<td class="nump">3,184,000<span></span>
</td>
<td class="nump">3,184,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</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(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-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_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt.</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(28))<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 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-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_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</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(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 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/2147479134/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/2147479170/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/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 58,344<span></span>
</td>
<td class="nump">$ 26,504<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>Operating costs and expenses:</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_DirectOperatingCosts', window );">Direct operating costs</a></td>
<td class="nump">35,092<span></span>
</td>
<td class="nump">16,869<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">14,980<span></span>
</td>
<td class="nump">8,305<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest income, net</a></td>
<td class="num">(127)<span></span>
</td>
<td class="num">(84)<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_CostsAndExpenses', window );">Total</a></td>
<td class="nump">49,945<span></span>
</td>
<td class="nump">25,090<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">8,399<span></span>
</td>
<td class="nump">1,414<span></span>
</td>
</tr>
<tr class="re">
<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 );">Provision for income taxes</a></td>
<td class="nump">612<span></span>
</td>
<td class="nump">424<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_ProfitLoss', window );">Consolidated net income</a></td>
<td class="nump">7,787<span></span>
</td>
<td class="nump">990<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Income attributable to non-controlling interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<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_NetIncomeLoss', window );">Net Income attributable to Innodata Inc. and Subsidiaries</a></td>
<td class="nump">$ 7,787<span></span>
</td>
<td class="nump">$ 989<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Income per share attributable to Innodata Inc. and Subsidiaries:</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_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="nump">$ 0.03<span></span>
</td>
</tr>
<tr class="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="nump">$ 0.22<span></span>
</td>
<td class="nump">$ 0.03<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average shares outstanding:</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">31,434<span></span>
</td>
<td class="nump">28,753<span></span>
</td>
</tr>
<tr class="ro">
<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">34,951<span></span>
</td>
<td class="nump">32,239<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Comprehensive Income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Consolidated net income</a></td>
<td class="nump">$ 7,787<span></span>
</td>
<td class="nump">$ 990<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension liability adjustment, net of taxes</a></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">109<span></span>
</td>
<td class="num">(130)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Change in fair value of derivatives, net of taxes</a></td>
<td class="nump">274<span></span>
</td>
<td class="num">(34)<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_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss)</a></td>
<td class="nump">382<span></span>
</td>
<td class="num">(165)<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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Total comprehensive income</a></td>
<td class="nump">8,169<span></span>
</td>
<td class="nump">825<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest', window );">Comprehensive income attributed to non-controlling interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<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 income attributable to Innodata Inc. and Subsidiaries</a></td>
<td class="nump">$ 8,169<span></span>
</td>
<td class="nump">$ 824<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (loss) and other comprehensive income (loss), attributable to noncontrolling interests. 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-20<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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 4: 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(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-21<br><br>Reference 6: 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 7: 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 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 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(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs of sales and operating expenses for 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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<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_CostsAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CostsAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CostsAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-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_DirectOperatingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 direct operating costs incurred 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DirectOperatingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income (expense) classified as nonoperating.</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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 4: 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(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 8: 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 9: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</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://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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and reclassification adjustments of other comprehensive income (loss).</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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 5: 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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-4<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 9: 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(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 11: 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 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482739/220-10-55-15<br><br>Reference 13: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (j)<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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (k)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 3: 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 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 5: 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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Consolidated net income</a></td>
<td class="nump">$ 7,787<span></span>
</td>
<td class="nump">$ 990<span></span>
</td>
</tr>
<tr class="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 consolidated net income to net cash provided by 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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">1,563<span></span>
</td>
<td class="nump">1,266<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">2,881<span></span>
</td>
<td class="nump">1,034<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred income taxes</a></td>
<td class="nump">149<span></span>
</td>
<td class="num">(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_DefinedContributionPlanIncreaseDecreaseCost', window );">Pension cost</a></td>
<td class="nump">342<span></span>
</td>
<td class="nump">309<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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</a></td>
<td class="num">(1,353)<span></span>
</td>
<td class="nump">137<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(47)<span></span>
</td>
<td class="nump">86<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="num">(16)<span></span>
</td>
<td class="nump">426<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Accounts payable and accrued expenses</a></td>
<td class="nump">661<span></span>
</td>
<td class="num">(307)<span></span>
</td>
</tr>
<tr class="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 );">Deferred revenues</a></td>
<td class="nump">18<span></span>
</td>
<td class="nump">3,145<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued salaries, wages and related benefits</a></td>
<td class="num">(249)<span></span>
</td>
<td class="num">(490)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedTaxesPayable', window );">Income and other taxes</a></td>
<td class="num">(869)<span></span>
</td>
<td class="nump">225<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">10,867<span></span>
</td>
<td class="nump">6,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_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="num">(2,350)<span></span>
</td>
<td class="num">(1,339)<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">(2,350)<span></span>
</td>
<td class="num">(1,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_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">963<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 );">Payment of long-term obligations</a></td>
<td class="num">(103)<span></span>
</td>
<td class="num">(291)<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 provided by (used in) financing activities</a></td>
<td class="nump">860<span></span>
</td>
<td class="num">(291)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="nump">282<span></span>
</td>
<td class="nump">32<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 increase in cash and cash equivalents</a></td>
<td class="nump">9,659<span></span>
</td>
<td class="nump">5,169<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Cash and cash equivalents, beginning of period</a></td>
<td class="nump">46,897<span></span>
</td>
<td class="nump">13,806<span></span>
</td>
</tr>
<tr class="re">
<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 );">Cash and cash equivalents, end of period</a></td>
<td class="nump">56,556<span></span>
</td>
<td class="nump">18,975<span></span>
</td>
</tr>
<tr class="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 disclosures 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_IncomeTaxesPaid', window );">Cash paid for income taxes</a></td>
<td class="nump">112<span></span>
</td>
<td class="nump">155<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Cash paid for operating leases</a></td>
<td class="nump">$ 356<span></span>
</td>
<td class="nump">361<span></span>
</td>
</tr>
<tr class="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 );">Cash paid for interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 68<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_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_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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DefinedContributionPlanIncreaseDecreaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cost for defined contribution plan.</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_DefinedContributionPlanIncreaseDecreaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 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 (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 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_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not 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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInAccruedTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all taxes owed but not paid, including income, property and other taxes.</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_IncreaseDecreaseInAccruedTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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/2147478345/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_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_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_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_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Non-Controlling Interest</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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at the beginning at Dec. 31, 2023</a></td>
<td class="nump">$ 320<span></span>
</td>
<td class="nump">$ 43,152<span></span>
</td>
<td class="num">$ (9,683)<span></span>
</td>
<td class="num">$ (1,621)<span></span>
</td>
<td class="num">$ (6,465)<span></span>
</td>
<td class="num">$ (708)<span></span>
</td>
<td class="nump">$ 24,995<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_TreasuryStockCommonShares', window );">Balance at the beginning (in shares) at Dec. 31, 2023</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="num">(3,184,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance at the beginning (in shares) at Dec. 31, 2023</a></td>
<td class="nump">31,937,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss) attributable to Innodata Inc. and Subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">989<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">989<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Income attributable to non-controlling interests</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="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,034<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="nump">1,034<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension liability adjustment, net of taxes</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="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</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="num">(130)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(130)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Change in fair value of derivatives, net of taxes</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="num">(34)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(34)<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at the end at Mar. 31, 2024</a></td>
<td class="nump">$ 320<span></span>
</td>
<td class="nump">44,186<span></span>
</td>
<td class="num">(8,694)<span></span>
</td>
<td class="num">(1,786)<span></span>
</td>
<td class="num">$ (6,465)<span></span>
</td>
<td class="num">(707)<span></span>
</td>
<td class="nump">26,854<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_TreasuryStockCommonShares', window );">Balance at the end (in shares) at Mar. 31, 2024</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="num">(3,184,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance at the end (in shares) at Mar. 31, 2024</a></td>
<td class="nump">31,937,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at the beginning at Dec. 31, 2024</a></td>
<td class="nump">$ 345<span></span>
</td>
<td class="nump">53,085<span></span>
</td>
<td class="nump">18,977<span></span>
</td>
<td class="num">(2,470)<span></span>
</td>
<td class="num">$ (6,465)<span></span>
</td>
<td class="num">(83)<span></span>
</td>
<td class="nump">$ 63,389<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_TreasuryStockCommonShares', window );">Balance at the beginning (in shares) at Dec. 31, 2024</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="num">(3,184,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,184,000<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 at the beginning (in shares) at Dec. 31, 2024</a></td>
<td class="nump">34,484,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss) attributable to Innodata Inc. and Subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,787<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">$ 7,787<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,881<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="nump">2,881<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock option exercises</a></td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">961<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="nump">$ 963<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock option exercises (in shares)</a></td>
<td class="nump">261,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">261,382<span></span>
</td>
</tr>
<tr class="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 );">Vesting of restricted stock units</a></td>
<td class="nump">$ 2<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Vesting of restricted stock units (in shares)</a></td>
<td class="nump">184,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension liability adjustment, net of taxes</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="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</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">109<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">109<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Change in fair value of derivatives, net of taxes</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">274<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">274<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at the end at Mar. 31, 2025</a></td>
<td class="nump">$ 349<span></span>
</td>
<td class="nump">$ 56,925<span></span>
</td>
<td class="nump">$ 26,764<span></span>
</td>
<td class="num">$ (2,088)<span></span>
</td>
<td class="num">$ (6,465)<span></span>
</td>
<td class="num">$ (83)<span></span>
</td>
<td class="nump">$ 75,402<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_TreasuryStockCommonShares', window );">Balance at the end (in shares) at Mar. 31, 2025</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="num">(3,184,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,184,000<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 at the end (in shares) at Mar. 31, 2025</a></td>
<td class="nump">34,929,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 4: 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(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 8: 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 9: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</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://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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (j)<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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (k)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 3: 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 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 5: 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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://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 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(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 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_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479832/842-10-65-8<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-24<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-23<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-5<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-5<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 22: 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 (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 23: 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 (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 27: 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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 28: 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)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 29: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 43: 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 44: 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 45: 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 46: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-15<br><br>Reference 47: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-16<br><br>Reference 48: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4I<br><br>Reference 49: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476166/350-60-65-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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies and Estimates<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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>Summary of Significant Accounting Policies and Estimates</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_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies and Estimates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-align:left;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">1.</b></span><b style="font-weight:bold;">Summary of Significant Accounting Policies and Estimates</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Basis of Presentation </b>- The condensed consolidated financial statements for the interim periods included herein are unaudited; however, they contain all adjustments (consisting of only normal recurring adjustments) that, in the opinion of management, are necessary to present fairly the consolidated financial position of Innodata Inc. (including its subsidiaries, the &#8220;Company&#8221;) as of March 31, 2025 and December 31, 2024, the results of its operations and comprehensive income for the three months ended March 31, 2025 and 2024, cash flows for the three months ended March 31, 2025 and 2024, and stockholders&#8217; equity for the three months ended March 31, 2025 and 2024. The results of operations for the interim periods are not necessarily indicative of results that may be expected for any other interim period or for the full year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Certain information and note disclosures normally included in or with financial statements prepared in accordance with generally accepted accounting principles in the United States of America (&#8220;U.S. GAAP&#8221;) have been condensed or omitted from these condensed consolidated financial statements pursuant to the rules and regulations of the Securities and Exchange Commission (the &#8220;SEC&#8221;) and, accordingly, 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 10-K for the year ended December 31, 2024. Unless otherwise noted, the accounting policies used in preparing these condensed consolidated financial statements are the same as those described in the notes to the consolidated financial statements for the year ended December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Principles of Consolidation&#160;</b>- The condensed consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Use of Estimates&#160;</b>- In preparing the condensed consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the condensed consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates and assumptions used in the preparation of the condensed consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for credit losses and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Concentration of Credit Risk</b> <b style="font-weight:bold;">-</b> The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At March 31, 2025, the Company had cash and cash equivalents of $56.6 million, of which $17.3 million was held by its foreign subsidiaries and $39.3 million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Accounts Receivable&#160;</b> - Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#8217;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#8217;s current creditworthiness. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services, service penalties, discounts and price adjustments. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Revenue Recognition&#160;</b>- The Company&#8217;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#8217;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Digital Data Solutions segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#8217;s functional software and providing access to the Company&#8217;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue includes reimbursement of out-of-pocket expenses, with the corresponding out-of-pocket expenses included in direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:10pt;">Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of </span><span style="font-size:10pt;">12 months</span><span style="font-size:10pt;"> or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying condensed consolidated balance sheets are contract acquisition costs amounting to </span><span style="font-size:10pt;">$1.0</span><span style="font-size:10pt;"> million and </span><span style="font-size:10pt;">$1.1</span><span style="font-size:10pt;"> million as of March 31, 2025 and December 31, 2024, respectively. These acquisition costs relate to our Agility segment and are amortized over the term of the subscription agreement.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency Translation&#160;</b>- The functional currency of the Company&#8217;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the United Kingdom and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, United Kingdom Pound Sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on March 31, 2025 and December 31, 2024 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#8217; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange losses resulting from such transactions of approximately $0.1 million for each of the three-month periods ended March 31, 2025 and 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The functional currency for the Company&#8217;s subsidiary in Germany is the Euro. The functional currencies for the Company&#8217;s Agility subsidiaries in the United Kingdom and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#8217;s condensed consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive income or loss in stockholders&#8217; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying condensed consolidated statements of operations and comprehensive income (loss).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Derivative Instruments - </b>The Company accounts for derivative transactions in accordance with the FASB&#8217;s Accounting Standards Codification (&#8220;ASC&#8221;) Topic 825, &#8220;Financial Instruments&#8221;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in other comprehensive income (loss). When the amounts recorded in other comprehensive income (loss) are reclassified to earnings, they are included as part of direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-size:10pt;font-weight:bold;">Capitalized Developed Software - </b><span style="font-size:10pt;">The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from </span><span style="-sec-ix-hidden:Hidden_hC03GuxpME62fR1sD86aBQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span><span style="font-size:10pt;"> to </span><span style="font-size:10pt;">ten years</span><span style="font-size:10pt;">. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress were </span><span style="font-size:10pt;">$4.3</span><span style="font-size:10pt;"> million and </span><span style="font-size:10pt;">$3.6</span><span style="font-size:10pt;"> million as of March 31, 2025 and December 31, 2024, respectively. The cumulative completed capitalized developed software was </span><span style="font-size:10pt;">$19.4</span><span style="font-size:10pt;"> million and </span><span style="font-size:10pt;">$19.8</span><span style="font-size:10pt;"> million as of March 31, 2025 and December 31, 2024, respectively.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income Taxes - </b>Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#8217;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the deferred tax assets of subsidiaries in Canada and Germany will be realizable or not.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company assessed one of its Canadian subsidiaries for the three months ended March 31, 2025 and the assessment yielded positive evidence enabling the release of the valuation allowance for the Canadian deferred tax assets of the subsidiary under &#8220;ASC Topic 740-30-22 &#8211; Accounting for Income Taxes&#8221;. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As the expectation of future taxable income of the second Canadian subsidiary and German subsidiary cannot be predicted with reasonable accuracy, the Company continues to maintain a valuation allowance against the deferred tax assets of these subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company accounts for income taxes regarding uncertain tax positions and recognizes interest and penalties related to uncertain tax positions in income tax expense in the condensed consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-size:10pt;font-weight:bold;">Deferred Revenue - </b><span style="font-size:10pt;">Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. We expect to recognize substantially all of these performance obligations over the next 12 months. </span><span style="font-size:10pt;">The table below summarizes the deferred revenue balances as of March 31, 2025 and December 31, 2024 (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,010</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balances for the three months ended as of March 31, 2025 and 2024 were as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at the beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,523</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,932</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,607)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,707)</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (80)</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at the end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,668</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Recently Issued Accounting Pronouncements Not Yet Adopted</b> - On December 14, 2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2024 and interim periods beginning after December 15, 2025. The adoption of ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. We do not anticipate any material impact from the adoption of this new standard.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">In November 2024, the FASB issued ASU 2024-03, &#8220;Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40), fourth amendment via ASU 2025-01: Disaggregation of Income Statement Expenses&#8221;. ASU No. 2024-03 does not change or remove existing expense disclosure requirements but requires disaggregated disclosures about certain expense categories and captions, including but not limited to, purchases of inventory, employee compensation, depreciation, amortization and selling expenses. ASU No. 2024-03 will become effective for us in fiscal 2027 and in the first quarter of fiscal 2028 for interim reporting. Early adoption is permitted. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#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_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_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 250<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/250/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_ReceivablesAbstract', window );"><strong>Accounts Receivable</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_AccountsAndNontradeReceivableTextBlock', window );">Accounts Receivable</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">2.</b></span>Accounts Receivable</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Accounts receivable consists of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gross Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,772</p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,205)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,256)</p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Allowance for billing adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (633)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (503)</p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,013</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:9pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Activity in the allowance for the credit losses for the three months ended March 31, 2025 and 2024 was as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,256</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 992</p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions charged to expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15</p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Write-offs against allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (55)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7)</p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,205</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,000</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#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_AccountsAndNontradeReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivable, contract receivable, receivable held-for-sale, and nontrade 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 310<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/310/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/326/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_AccountsAndNontradeReceivableTextBlock</td>
</tr>
<tr>
<td style="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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>20
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">3.</b></span>Goodwill and Intangible Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt;"><i style="font-style:italic;">Goodwill</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The change in the carrying amount of goodwill for the three months ended March 31, 2025 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance - January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,998</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance - March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,018</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The fair value measurement of goodwill of the Agility segment was conducted on September 30, 2024 and was classified within Level 3 of the fair value hierarchy because the Company used the income approach, which utilizes significant inputs that are unobservable in the market and the market multiple approach using comparable entities to further validate the carrying values. The Company believes it made reasonable estimates and assumptions to calculate the fair value of the reporting unit as of the impairment test measurement date. The carrying value of Goodwill was $2.0 million for each of the periods ended March 31, 2025 and December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Intangibles</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,760)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 123</p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,965</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,747)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 218</p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (813)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28</p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (40)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,528</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,087)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 449</p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,254</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (8,447)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 11</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 818</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,352</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,903)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,448</p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software - in Progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,304</p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 23,654</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (10,903)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 12,752</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 32,908</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (19,350)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 12</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,570</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,060</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,911)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 146</p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,856)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (29)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 259</p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (826)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 36</p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (44)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,016)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 529</p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,656</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (8,653)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (33)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 970</b></p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,507)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (463)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,841</p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software - in Progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,542</p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 23,363</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (10,507)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (473)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 12,383</b></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 33,019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (19,160)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (506)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,353</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to acquired intangible assets was $0.2 million for each of the three-month periods ended March 31, 2025 and 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to capitalized developed software was $1.0 million and $0.7 million for the three months ended March 31, 2025 and 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">As of March 31, 2025, estimated future amortization expense for intangible assets was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:22.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,833</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,629</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,130</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 774</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 100</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 104</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,570</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">4.</b></span>Income Taxes</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">For the three months ended March 31, 2025, the Company recorded an income tax provision of approximately $0.6 million. The Company generated taxable income in the United States during the period; however, no U.S. federal tax expense was recognized as the taxable income was fully offset by the utilization of net operating loss carryforwards (&#8220;NOLCO&#8221;). The income tax provision recorded for the period primarily relates to utilization of U.S. deferred tax assets, State income tax provisions, the Company&#8217;s foreign subsidiaries income tax provisions in accordance with local tax regulations, the tax impact of Global Intangible Low-Taxed Income (&#8220;GILTI&#8221;) inclusions, offset in part by the release of the valuation allowance for the deferred tax assets of one of the Company&#8217;s Canadian subsidiary and reversal of uncertain tax positions under ASC 740. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The estimated annual effective tax rate applied to the three-month period ended March 31, 2025 differs from the U.S. federal statutory rate of 21% principally due to the favorable effect of stock-based compensation, change in valuation allowance, and change in unrecognized tax benefits, offset in part by IRS section 162(m) adjustments, state income tax provisions, tax effect of foreign operations, and income earned outside the U.S. which is subject to the U.S. tax on global intangible low taxed income (&#8220;GILTI&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The estimated annual effective tax rate applied to the three-month period ended March 31, 2024, differs from the U.S. federal statutory rate of<span style="letter-spacing:-0.1pt;"> </span><span style="letter-spacing:-0.1pt;">21%</span><span style="letter-spacing:-0.1pt;"> principally due to income earned outside the U.S. which is subject to the U.S. tax on global intangible low taxed income (&#8220;GILTI&#8221;), provision on uncertain tax positions, true up adjustment on prior year tax provision, and other net increases, offset in part by a reduction in the valuation allowance and foreign exchange gains and losses. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="letter-spacing:-0.1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="letter-spacing:-0.1pt;">During the first quarter of 2025, the Company determined it was more likely than not that one of the Company&#8217;s subsidiaries in Canada would be able to realize the benefit of the deferred tax assets in Canada, resulting in the release of the valuation allowance. In reaching this determination, the Company considered the growing trend of profitability over the last three years in the Canadian subsidiary, as well as expectations regarding the generation of future taxable income.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="letter-spacing:-0.1pt;">The reconciliations of the U.S. federal statutory rate with the Company&#8217;s effective tax rate for the three months ended March 31, 2025 and 2024, respectively, are summarized in the table below:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Ended March 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal income tax expense (benefit) at statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Section 162(m)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State income tax net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Tax effects of foreign operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">GILTI provisions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Withholding tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Return to provision true up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign operations permanent differences - foreign exchange gains and losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7.9)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Deemed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in unrecognized tax benefits (ASC 740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10.4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effect of stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (40.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents a roll-forward of the Company&#8217;s unrecognized tax benefits and associated interest for the three months ended March 31, 2025 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrecognized</b></p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Tax&#160;Benefits</b></p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 999</p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increase for current period tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 76</p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Decrease for prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (213)</p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest accrual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency remeasurement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 876</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;font-style:normal;margin-bottom:10pt;visibility:hidden;">&#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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477891/740-270-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/740/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-14<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-21<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_LesseeDisclosureAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Operating Leases</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">5.</b></span>Operating Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company has various lease agreements for its offices and service delivery centers and has determined that the risks and benefits related to these leased properties are retained by the lessors. Accordingly, these are accounted for as operating leases. Lease agreements with a term of less than one year are treated as short-term leases and are accounted for separately as shown in the table below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:10pt;">Most of these lease agreements are renewable at the mutual consent of the parties to the contract. These lease agreements are for terms ranging from </span><span style="-sec-ix-hidden:Hidden_ol6FBvcQm0Of02gMMXTkIQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span><span style="font-size:10pt;"> to </span><span style="font-size:10pt;">eleven years</span><span style="font-size:10pt;"> and, in most cases, provide for rent escalations ranging from </span><span style="font-size:10pt;">1.75%</span><span style="font-size:10pt;"> to </span><span style="font-size:10pt;">15%</span><span style="font-size:10pt;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below summarizes the amounts recognized in the condensed consolidated financial statements related to operating leases for the periods presented (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Rent expense for long-term operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 314</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 314</p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Rent expense for short-term leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47</p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Total rent expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 356</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 361</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the maturity profile of the Company&#8217;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the condensed consolidated balance sheet as of March 31, 2025 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 977</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,331</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,327</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 957</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 695</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2030 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 177</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,464</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Less: Interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,018)</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,446</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 904</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Long-term portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,542</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,446</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The weighted average remaining lease terms and discount rates for all of the Company&#8217;s operating leases as of March 31, 2025 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Weighted-average lease term remaining </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;">48 months</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.39</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#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_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-term obligations<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_inod_LongTermObligationsAbstract', window );"><strong>Long-term obligations</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_inod_LongTermObligationsDisclosureTextBlock', window );">Long-term obligations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">6.</b></span>Long-term obligations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Total long-term obligations as of March 31, 2025 and December 31, 2024 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pension obligations&#160;- accrued pension liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,945</p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Microsoft licenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 442</p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,387</p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,643</p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Non-Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,096</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,744</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup>&#160;In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LongTermObligationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">inod_LongTermObligationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LongTermObligationsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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-term 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;">inod_LongTermObligationsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">7.</b></span>Commitments and Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-size:10pt;font-weight:bold;">Litigation&#160;&#8211; </b><span style="font-size:10pt;">In 2008, a judgment was rendered in the Philippines against a Philippine subsidiary of the Company that is no longer active and purportedly also against Innodata&#160;Inc., in favor of certain former employees of the Philippine subsidiary. The potential payment amount aggregates to approximately </span><span style="font-size:10pt;">$5.7</span><span style="font-size:10pt;"> million, </span><span style="font-size:10pt;">plus legal interest that accrued at 12% per annum from August&#160;13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum</span><span style="font-size:10pt;">. The potential payment amount as expressed in U.S. dollars varies with the Philippine peso to U.S. dollar exchange rate. In December&#160;2017, a group of 97 of the former employees of the Philippine subsidiary indicated that they proposed to record the judgment as to themselves in New Jersey. In January&#160;2018, in response to an action initiated by Innodata&#160;Inc., the United States District Court for the District of New Jersey (&#8220;USDC&#8221;) entered a preliminary injunction that enjoins these former employees from pursuing or seeking recognition or enforcement of the judgment against Innodata&#160;Inc. in the United States during the pendency of the action and until further order of the USDC. In June&#160;2018, the USDC entered a consent order administratively closing the action subject to return of the action to the active docket upon the written request of Innodata&#160;Inc. or the former employees, with the USDC retaining jurisdiction over the matter and the preliminary injunction remaining in full force and effect.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In February 2024, David D&#8217;Agostino filed a putative class action captioned D&#8217;Agostino v. Innodata Inc., et al., in the United States District Court for the District of New Jersey against the Company and certain of its current and former officers (the &#8220;Securities Class Action&#8221;). In October 2024, the presiding judge in the Securities Class Action appointed a lead plaintiff and approved the lead plaintiff&#8217;s choice of counsel. The Securities Class Action complaint, as amended, asserts claims under Sections 10(b) and 20(a) of the Securities Exchange Act of 1934, as amended, and Rule 10b-5 promulgated thereunder, and it alleges, among other things, that the defendants made false and misleading statements regarding the Company&#8217;s artificial intelligence (&#8220;AI&#8221;) technology and services. The plaintiff seeks unspecified damages, fees, interest, and costs. The Company intends to defend itself vigorously, but the Company cannot predict the outcome of the action at this time and can give no assurance that the asserted claims will not have a material adverse effect on its financial position or results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Subsequently, in March 2024, the Company received a letter from the staff of the SEC, requesting the Company preserve certain documents and data; in August 2024 the Company received a grand jury subpoena from the U.S. Department of Justice (&#8220;DOJ&#8221;) requesting the Company to produce certain documents; and in September 2024 the Company received a subpoena from the SEC requesting certain information. The Company believes that the SEC and DOJ requests are related to the conduct alleged in the Securities Class Action, and is cooperating with these investigations. The Company is unable to predict when these matters will be resolved or what further action, if any, the SEC or DOJ may take in connection with it.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also subject to various other legal proceedings and claims that have arisen in the ordinary course of business. While the Company believes that it has adequate reserves for those losses that it believes are probable and can be reasonably estimated, the ultimate results of legal proceedings and claims cannot be predicted with certainty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">While management currently believes that the ultimate outcome of these proceedings will not have a material adverse effect on the Company&#8217;s consolidated financial position or overall trends in consolidated results of operations, litigation is subject to inherent uncertainties. Substantial recovery against the Company in the above-referenced Philippine action could have a material adverse impact on the Company, and unfavorable rulings or recoveries in the other proceedings could have a material adverse impact on the consolidated operating results in the period in which the ruling or recovery occurs. In addition, the Company&#8217;s estimate of the potential impact on the Company&#8217;s consolidated financial position or overall consolidated results of operations for the above referenced legal proceedings could change in the future. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The Company&#8217;s legal accruals related to legal proceedings and claims are based on the Company&#8217;s determination of whether or not a loss is probable. The Company reviews outstanding proceedings and claims with external counsel to assess probability and estimates of loss. The accruals are adjusted if necessary. While the Company intends to defend these matters vigorously, adverse outcomes that it estimates could reach approximately $450,000 in the aggregate beyond recorded amounts are reasonably possible. If circumstances change, the Company may be required to record adjustments that could be material to its reported consolidated financial condition and results of operations.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 405<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/450/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478522/954-440-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options and Restricted Stock Units<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Stock Options and Restricted Stock Units</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock Options and Restricted Stock Units</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">8.</b></span>Stock Options and Restricted Stock Units</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The stock-based compensation expense related to the Innodata Inc. 2013 Stock Plan, as amended and restated effective June 7, 2016 (the &#8220;2013 Plan&#8221;) and the Innodata Inc. 2021 Equity Compensation Plan, as amended and restated effective as of April 11, 2022 (the &#8220;2021 Plan&#8221;, and together with the 2013 Plan, collectively, the &#8220;Equity Plans&#8221;) were allocated as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 427</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84</p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 950</p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,034</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Stock Options </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">2013 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the 2013 Plan and changes during each of the three-month periods ended March 31, 2025 and 2024 are presented below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted - Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining Contractual </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate </b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,165,193</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.32</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,458,326</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (188,150)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.74</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,977,043</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,948,739</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,878,708</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.68</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.06</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,753,835</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,977,043</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,948,739</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted - Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining&#160;Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,640,009</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,334)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.96</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,336,828</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.21</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.13</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,364,840</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,552,030</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 5.22</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,528,015</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,336,828</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.21</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.13</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,364,840</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-size:10pt;font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">2021 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the 2021 Plan and changes during the three-month periods ended March 31, 2025 and 2024 are presented below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted - Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate </b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 842,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.86</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.46</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,847,471</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (73,232)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.57</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (334)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 768,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.28</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,375,435</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 242,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 7.49</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,897,315</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 768,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.28</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,375,435</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;-&#160;Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,334)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 918,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.52</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,946,506</p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 386,209</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.49</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,258,907</p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 918,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.52</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,946,506</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="letter-spacing:-0.1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="letter-spacing:-0.1pt;">There were </span><span style="letter-spacing:-0.1pt;">no</span><span style="letter-spacing:-0.1pt;"> options granted during the three months ended March 31, 2025 and 2024.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During the three months ended March 31, 2025, a total of 261,382 options were exercised at an average exercise price of $3.68.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:10pt;">The compensation cost related to non-vested stock options not yet recognized as of March 31, 2025 totaled approximately </span><span style="font-size:10pt;">$8.2</span><span style="font-size:10pt;"> million. The weighted-average period over which these costs will be recognized is </span><span style="font-size:10pt;">31 months</span><span style="font-size:10pt;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Restricted Stock Awards</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">There were no outstanding awards of restricted stock under the Equity Plans during each of the three-month periods ended March 31, 2025 and 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Restricted Stock Units</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Restricted stock unit activity under the Equity Plans during each of the three-month periods ended March 31, 2025 and 2024 are presented below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,249,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20.98</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,751</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41.23</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (184,200)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.99</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (530,950)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.37</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 536,680</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41.03</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 749,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.77</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (995)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.29</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 748,761</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.78</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There were no restricted stock units granted to non-employee directors during the three months ended March 31, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">The compensation cost related to non-vested restricted stock units not yet recognized as of March 31, 2025 totaled approximately </span><span style="font-size:10pt;">$19.6</span><span style="font-size:10pt;"> million. The weighted-average period over which these costs will be recognized is </span><span style="font-size:10pt;">31 months</span><span style="font-size:10pt;">.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Comprehensive loss<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Comprehensive loss</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_ComprehensiveIncomeNoteTextBlock', window );">Comprehensive loss</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">9.</b></span><b style="font-weight:bold;">Comprehensive loss</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Accumulated other comprehensive loss, as reflected in the condensed consolidated balance sheets, consists of pension liability adjustments, net of taxes, foreign currency translation adjustment and changes in fair value of derivatives, net of taxes. The components of accumulated other comprehensive loss as of March 31, 2025 and 2024, and reclassifications from accumulated other comprehensive loss for the three-month periods, are presented below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pension Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive&#160;Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (233)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (395)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,842)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,470)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other comprehensive income before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 230</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (233)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (274)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,733)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,240)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (234)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (121)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,733)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,088)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pension Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,621)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (143)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,380)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,764)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (22)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (413)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,380)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,786)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Taxes related to each component of other comprehensive loss were not material for each of the three-month periods presented and therefore not disclosed separately.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">All reclassifications from accumulated other comprehensive income (loss) had an impact on direct operating costs in the condensed consolidated statements of operations and comprehensive income.</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_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-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_ComprehensiveIncomeNoteTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive 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/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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<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(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/220/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_ComprehensiveIncomeNoteTextBlock</td>
</tr>
<tr>
<td style="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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_SegmentReportingAbstract', window );"><strong>Segment reporting and concentrations</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 and concentrations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">10.</b></span>Segment reporting and concentrations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are classified in three reporting segments: Digital Data Solutions (&#8220;DDS&#8221;), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The DDS segment provides AI data preparation services, collecting or creating training data, annotating training data, and training AI algorithms for its customers, and AI model deployment and integration. The DDS segment also provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Synodex segment provides an industry platform that transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment provides an industry platform that provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news channels (print, web, radio and TV) and social media channels. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">A significant portion of the Company&#8217;s revenues is generated from its locations in the Philippines, India, Sri Lanka, Canada, Germany, Israel, United States and the United Kingdom.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) is the senior executive committee that includes the chief executive officer, the chief operating officer, and the chief financial officer (interim).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The U.S. GAAP measures used by the Company&#8217;s CODM to evaluate segment performance and allocate resources&#8212;such as employees, property, and financial or capital resources during the annual budgeting and forecasting process, are Revenues, Gross Profit and Income before provision for income taxes. Performance results are monitored, reviewed, and measured monthly and quarterly by comparing budget and forecast to actual results for profit measures, assessing returns on investment, compensation decisions and changing strategies, if required.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accounting policies used by the DDS, Synodex and Agility segments are the same as those described in the summary of significant accounting policies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The measure of segment assets is reported on the balance sheet as total consolidated assets shown in the table below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024*</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 91,588</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,790</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,744</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,071</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 125,210</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 113,449</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">*<i style="font-style:italic;">Prior period segment assets of DDS, Synodex and Agility segments have been reclassified to align with the current period presentation, with no impact on the Company&#8217;s consolidated results.</i></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Agility assets include goodwill of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$2.0</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> million for each of the periods ended March 31, 2025 and December 31, 2024.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Segment assets consist of cash, receivables, prepaid and other assets, property and equipment, right of-use-assets, deferred income tax and intangibles.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below shows segment information for other significant income statement items (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, 2025</b></p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,831</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58,344</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1) (3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,529</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,092</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,729</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,971</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,252</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2) (4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 286</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,980</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Segment operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (129)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,272</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (127)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (127)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,262</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (129)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,399</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,871</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,504</p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Direct operating costs <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1) (3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,869</p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 399</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,678</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,635</p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Selling and administrative expenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2) (4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,795</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 123</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,387</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,305</p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Segment operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 763</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 291</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,330</p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Interest (income) expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (85)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (84)</p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Income before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 290</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,414</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, recruitment costs and other direct expenses that are incurred in providing services to our customers.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for credit losses and other administrative overhead expenses.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes non-cash expenses which consist mainly of depreciation, amortization of capitalized software development costs and stock-based compensation expense.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes non-cash expenses which consist mainly of stock-based compensation expense.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues for the three-month periods ended March 31, 2025, and 2024 by geographic region (determined based upon customer&#8217;s domicile), were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,872</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,226</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United Kingdom </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,426</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,249</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,165</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,039</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Others - principally other European countries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,118</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58,344</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,504</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Long-lived assets as of March 31, 2025 and December 31, 2024 by geographic region were comprised of (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,182</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign countries:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,214</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,265</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 784</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 806</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,606</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,532</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,367</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,251</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Sri Lanka</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 587</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Israel</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 74</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 63</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,508</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,690</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">Long-lived assets include the unamortized balance of right-of-use assets amounting to $4.0 million and $4.2 million as of March 31, 2025 and December 31, 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">One customer in the DDS segment generated approximately 61% and 24% of the Company&#8217;s total revenues for the three months ended March 31, 2025 and 2024, respectively. No other customer accounted for 10% or more of total revenues during these periods. Further revenues from non-U.S. customers accounted for 16% and 33% of the Company&#8217;s total revenues for the three months ended March 31, 2025 and 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">As of March 31, 2025, approximately 17% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and 51% of the Company&#8217;s accounts receivable was due from one customer. As of December 31, 2024, approximately 16% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and 61% of the Company&#8217;s accounts receivable was due from two customers. No other customer accounted for 10% or more of the accounts receivable as of March 31, 2025 and December 31, 2024.</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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 14: 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 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26C<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 26B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26B<br><br>Reference 17: 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 18: 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 19: 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 20: 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 21: 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 22: 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 23: 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 24: 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 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 (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>28
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Per Share<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Income Per Share</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 );">Income Per Share</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">11.</b></span>Income Per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The calculation of the dilutive effect of outstanding options is shown in the table below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income attributable to Innodata Inc. and Subsidiaries </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 989</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,753</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Dilutive effect of outstanding options </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,517</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,486</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Adjusted for dilutive computation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,951</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,239</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Basic income per share is computed using the weighted-average number of common shares outstanding during the year. Diluted income per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted-average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#8220;two-class&#8221; method of computing income per share is used.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Options to purchase 3.7 million shares of common stock for the three months ended March 31, 2025 were outstanding and included in the computation of diluted income per share.<span style="font-size:11pt;"> </span>Also included in the computation of diluted income per share are 449,342 restricted stock units using the treasury stock method to determine the dilutive effect of restricted stock units outstanding as of March 31, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Options to purchase 3,000 shares of common stock for the three months ended March 31, 2024 were outstanding but not included in the computation of diluted income per share because the exercise price of the options was greater than the average market price of the common shares.</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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivatives<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</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_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock', window );">Derivatives</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">12.</b></span>Derivatives</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company conducts a large portion of its operations in international markets, which subjects it to foreign currency fluctuations. The most significant foreign currency exposures occur when revenue and associated accounts receivable are collected in one currency and expenses to generate that revenue are incurred in another currency. The Company is also subject to wage inflation and other government mandated increases and operating expenses in Asian countries where the Company has the majority of its operations. The Company&#8217;s primary inflation and exchange rate exposure relates to payroll, other payroll costs and operating expenses in the Philippines, India, Sri Lanka and Israel.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In addition, although most of the Company&#8217;s revenue is denominated in U.S. dollars, a significant portion of total revenues is denominated in Canadian dollars, Pound Sterling and Euros.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="background:#ffffff;">The Company&#8217;s policy is to enter derivative instrument contracts with terms that coincide with the underlying exposure being hedged for a period of up to 12 months. As such, the Company&#8217;s derivative instruments are expected to be highly effective. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded to other comprehensive income (loss). Upon settlement of these contracts, the change in the fair value recorded in other comprehensive income (loss) is reclassified to earnings and included as part of direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of direct operating costs</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking hedge transactions. The Company does not hold or issue derivatives for trading purposes. All derivatives are recognized at their fair value and classified based on the instrument&#8217;s maturity date. The total notional amount for outstanding derivatives designated as hedges was $17.2 million and $22.5 million as of March 31, 2025 and December 31, 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the fair value of derivative instruments included within the condensed consolidated balance sheets as of March 31, 2025 and December 31, 2024 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Derivatives designated as hedging instruments:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 499</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The effect of foreign currency forward contracts designated as cash flow hedges on the condensed consolidated statements of operations for the three months ended March 31, 2025 and 2024 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain (loss) recognized in OCI<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 121</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (13)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net (gain) loss reclassified from accumulated OCI into income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (21)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain recognized in income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">Net change in fair value of the effective portion classified into other comprehensive income (&#8220;OCI&#8221;).</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">Effective portion classified within direct operating costs.</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">There were no ineffective portions for the periods presented.</span> </p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.</p></div>
<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 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480237/815-40-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-5C<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 815<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/815/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_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Line of Credit<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_LineOfCreditFacilityAbstract', window );"><strong>Line of Credit</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 );">Line of Credit</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">13.</b></span>Line of Credit</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">On April 4, 2023, the Company entered into a Credit Agreement (the &#8220;Credit Agreement&#8221;) with Wells Fargo Bank, National Association, as lender, and Innodata Inc., Innodata Synodex, LLC, Innodata docGenix, LLC and Agility PR Solutions LLC as co-borrowers. On July 21, 2023, Innodata Services, LLC signed a Joinder Agreement to join the Credit Agreement as a co-borrower. On August 5, 2024, the Company entered into a second amendment to the Credit Agreement (together with the Credit Agreement, the &#8220;Amended Credit Agreement&#8221;). The Amended Credit Agreement provides for a secured revolving line of credit (the &#8220;Revolving Credit Facility&#8221;) up to an amount equal to the lesser of the borrowing base and </span><span style="font-size:10pt;">$30.0</span><span style="font-size:10pt;"> million (the &#8220;Maximum Credit&#8221;) and provides that a Borrower may request an increase to the Revolving Credit Facility&#8217;s Maximum Credit of up to, but not to exceed </span><span style="font-size:10pt;">$50.0</span><span style="font-size:10pt;"> million, subject to the approval of the Lender. The Revolving Credit Facility&#8217;s borrowing base is calculated on the basis of (i) </span><span style="font-size:10pt;">85%</span><span style="font-size:10pt;"> of eligible</span> <span style="font-size:10pt;">accounts (other than eligible foreign accounts and unbilled accounts), plus (ii) the lesser of (a) </span><span style="font-size:10pt;">80%</span><span style="font-size:10pt;"> of eligible accounts that are unbilled accounts and (b) </span><span style="font-size:10pt;">30%</span><span style="font-size:10pt;"> of all eligible accounts, plus (iii) the lesser of (a) </span><span style="font-size:10pt;">85%</span><span style="font-size:10pt;"> of eligible foreign accounts, (b) </span><span style="font-size:10pt;">20%</span><span style="font-size:10pt;"> of all eligible accounts and (c) </span><span style="font-size:10pt;">$4.0</span><span style="font-size:10pt;"> million, minus (iv) certain other reserves and adjustments. As of March 31, 2025, such borrowing base calculation equaled approximately </span><span style="font-size:10pt;">$21.4</span><span style="font-size:10pt;"> million. The Credit Agreement contains a financial covenant that requires the Borrowers, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than </span><span style="font-size:10pt;">1.10</span><span style="font-size:10pt;"> to 1.00. Except as set forth in the Credit Agreement, borrowings under the Revolving Credit Facility bear interest at a rate equal to the daily simple secured overnight financing rate (&#8220;</span><span style="-sec-ix-hidden:Hidden_TBh2HRybv0uQyjy6gGi50w;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">SOFR</span></span><span style="font-size:10pt;">&#8221;) plus </span><span style="font-size:10pt;">2.25%</span><span style="font-size:10pt;">. The Company did not utilize the Revolving Credit Facility during the three months ended March 31, 2025 or during the subsequent period through the filing date of this Report.</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_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 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<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 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<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 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 14: 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 15: 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 16: 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 17: 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 18: 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 19: 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 20: 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 21: 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_LineOfCreditFacilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 7,787<span></span>
</td>
<td class="nump">$ 989<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies and Estimates (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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>Summary of Significant Accounting Policies and Estimates</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_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Basis of Presentation </b>- The condensed consolidated financial statements for the interim periods included herein are unaudited; however, they contain all adjustments (consisting of only normal recurring adjustments) that, in the opinion of management, are necessary to present fairly the consolidated financial position of Innodata Inc. (including its subsidiaries, the &#8220;Company&#8221;) as of March 31, 2025 and December 31, 2024, the results of its operations and comprehensive income for the three months ended March 31, 2025 and 2024, cash flows for the three months ended March 31, 2025 and 2024, and stockholders&#8217; equity for the three months ended March 31, 2025 and 2024. The results of operations for the interim periods are not necessarily indicative of results that may be expected for any other interim period or for the full year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Certain information and note disclosures normally included in or with financial statements prepared in accordance with generally accepted accounting principles in the United States of America (&#8220;U.S. GAAP&#8221;) have been condensed or omitted from these condensed consolidated financial statements pursuant to the rules and regulations of the Securities and Exchange Commission (the &#8220;SEC&#8221;) and, accordingly, 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 10-K for the year ended December 31, 2024. Unless otherwise noted, the accounting policies used in preparing these condensed consolidated financial statements are the same as those described in the notes to the consolidated financial statements for the year ended December 31, 2024.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Principles of Consolidation&#160;</b>- The condensed consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Use of Estimates&#160;</b>- In preparing the condensed consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the condensed consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates and assumptions used in the preparation of the condensed consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for credit losses and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentration of Credit Risk</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Concentration of Credit Risk</b> <b style="font-weight:bold;">-</b> The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At March 31, 2025, the Company had cash and cash equivalents of $56.6 million, of which $17.3 million was held by its foreign subsidiaries and $39.3 million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Accounts Receivable&#160;</b> - Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#8217;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#8217;s current creditworthiness. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services, service penalties, discounts and price adjustments. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Revenue Recognition&#160;</b>- The Company&#8217;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#8217;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Digital Data Solutions segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#8217;s functional software and providing access to the Company&#8217;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue includes reimbursement of out-of-pocket expenses, with the corresponding out-of-pocket expenses included in direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:10pt;">Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of </span><span style="font-size:10pt;">12 months</span><span style="font-size:10pt;"> or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying condensed consolidated balance sheets are contract acquisition costs amounting to </span><span style="font-size:10pt;">$1.0</span><span style="font-size:10pt;"> million and </span><span style="font-size:10pt;">$1.1</span><span style="font-size:10pt;"> million as of March 31, 2025 and December 31, 2024, respectively. These acquisition costs relate to our Agility segment and are amortized over the term of the subscription agreement.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency Translation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency Translation&#160;</b>- The functional currency of the Company&#8217;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the United Kingdom and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, United Kingdom Pound Sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on March 31, 2025 and December 31, 2024 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#8217; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange losses resulting from such transactions of approximately $0.1 million for each of the three-month periods ended March 31, 2025 and 2024, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The functional currency for the Company&#8217;s subsidiary in Germany is the Euro. The functional currencies for the Company&#8217;s Agility subsidiaries in the United Kingdom and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#8217;s condensed consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive income or loss in stockholders&#8217; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying condensed consolidated statements of operations and comprehensive income (loss).</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesPolicyTextBlock', window );">Derivative Instruments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Derivative Instruments - </b>The Company accounts for derivative transactions in accordance with the FASB&#8217;s Accounting Standards Codification (&#8220;ASC&#8221;) Topic 825, &#8220;Financial Instruments&#8221;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in other comprehensive income (loss). When the amounts recorded in other comprehensive income (loss) are reclassified to earnings, they are included as part of direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of direct operating costs.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock', window );">Capitalized Developed Software</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-size:10pt;font-weight:bold;">Capitalized Developed Software - </b><span style="font-size:10pt;">The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from </span><span style="-sec-ix-hidden:Hidden_hC03GuxpME62fR1sD86aBQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span><span style="font-size:10pt;"> to </span><span style="font-size:10pt;">ten years</span><span style="font-size:10pt;">. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress were </span><span style="font-size:10pt;">$4.3</span><span style="font-size:10pt;"> million and </span><span style="font-size:10pt;">$3.6</span><span style="font-size:10pt;"> million as of March 31, 2025 and December 31, 2024, respectively. The cumulative completed capitalized developed software was </span><span style="font-size:10pt;">$19.4</span><span style="font-size:10pt;"> million and </span><span style="font-size:10pt;">$19.8</span><span style="font-size:10pt;"> million as of March 31, 2025 and December 31, 2024, respectively.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income Taxes - </b>Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#8217;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the deferred tax assets of subsidiaries in Canada and Germany will be realizable or not.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company assessed one of its Canadian subsidiaries for the three months ended March 31, 2025 and the assessment yielded positive evidence enabling the release of the valuation allowance for the Canadian deferred tax assets of the subsidiary under &#8220;ASC Topic 740-30-22 &#8211; Accounting for Income Taxes&#8221;. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As the expectation of future taxable income of the second Canadian subsidiary and German subsidiary cannot be predicted with reasonable accuracy, the Company continues to maintain a valuation allowance against the deferred tax assets of these subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company accounts for income taxes regarding uncertain tax positions and recognizes interest and penalties related to uncertain tax positions in income tax expense in the condensed consolidated statements of operations and comprehensive income.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Deferred Revenue</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-size:10pt;font-weight:bold;">Deferred Revenue - </b><span style="font-size:10pt;">Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. We expect to recognize substantially all of these performance obligations over the next 12 months. </span><span style="font-size:10pt;">The table below summarizes the deferred revenue balances as of March 31, 2025 and December 31, 2024 (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,010</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balances for the three months ended as of March 31, 2025 and 2024 were as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at the beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,523</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,932</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,607)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,707)</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (80)</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at the end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,668</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently Issued Accounting Pronouncements Not Yet Adopted</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Recently Issued Accounting Pronouncements Not Yet Adopted</b> - On December 14, 2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2024 and interim periods beginning after December 15, 2025. The adoption of ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. We do not anticipate any material impact from the adoption of this new standard.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">In November 2024, the FASB issued ASU 2024-03, &#8220;Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40), fourth amendment via ASU 2025-01: Disaggregation of Income Statement Expenses&#8221;. ASU No. 2024-03 does not change or remove existing expense disclosure requirements but requires disaggregated disclosures about certain expense categories and captions, including but not limited to, purchases of inventory, employee compensation, depreciation, amortization and selling expenses. ASU No. 2024-03 will become effective for us in fiscal 2027 and in the first quarter of fiscal 2028 for interim reporting. Early adoption is permitted. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.</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_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</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_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</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 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478898/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-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_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="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_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-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_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="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_DerivativesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its derivative instruments and hedging 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 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 815<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-2<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(n))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1A<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-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_DerivativesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/830/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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes 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 in-process research and development acquired in a business combination consummated during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/985-20/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<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/2147483041/730-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_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<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 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-17<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 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-19<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 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18<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 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18<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 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<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 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<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 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<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 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><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_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481569/310-20-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-15<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-11B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies and Estimates (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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>Summary of Significant Accounting Policies and Estimates</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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of deferred revenue</a></td>
<td class="text"><span style="font-size:10pt;">The table below summarizes the deferred revenue balances as of March 31, 2025 and December 31, 2024 (in thousands):</span><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,010</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock', window );">Schedule of information about contract liabilities (deferred revenue)</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balances for the three months ended as of March 31, 2025 and 2024 were as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at the beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,523</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,932</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,607)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,707)</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (80)</p></td></tr><tr><td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at the end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,668</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-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_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="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_DeferredRevenueByArrangementDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the 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_DeferredRevenueByArrangementDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_ReceivablesAbstract', window );"><strong>Accounts Receivable</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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Schedule of accounts receivable</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Accounts receivable consists of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Gross Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,772</p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,205)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,256)</p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Allowance for billing adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (633)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (503)</p></td></tr><tr><td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,013</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Schedule of activity in allowance for credit losses</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Activity in the allowance for the credit losses for the three months ended March 31, 2025 and 2024 was as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,256</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 992</p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions charged to expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15</p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Write-offs against allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (55)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7)</p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,205</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,000</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#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_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<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_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</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(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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets</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_ScheduleOfGoodwillTextBlock', window );">Schedule of changes in carrying amount of goodwill</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The change in the carrying amount of goodwill for the three months ended March 31, 2025 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance - January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,998</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance - March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,018</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Company's acquired intangible assets and capitalized developed software</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,760)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 123</p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,965</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,747)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 218</p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (813)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28</p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (40)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,528</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,087)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 449</p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,254</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (8,447)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 11</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 818</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,352</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,903)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,448</p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software - in Progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,304</p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 23,654</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (10,903)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 12,752</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 32,908</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (19,350)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 12</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,570</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,060</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,911)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 146</p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,856)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (29)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 259</p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (826)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 36</p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (44)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,016)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 529</p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,656</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (8,653)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (33)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 970</b></p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,507)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (463)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,841</p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software - in Progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,542</p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 23,363</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (10,507)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (473)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 12,383</b></p></td></tr><tr><td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 33,019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (19,160)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (506)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,353</b></p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of estimated amortization expense for intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">As of March 31, 2025, estimated future amortization expense for intangible assets was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:22.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,833</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,629</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,130</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 774</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 100</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 104</p></td></tr><tr><td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,570</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<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_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1A<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of reconciliation of U.S. statutory rate with Company's effective tax rate</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Ended March 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal income tax expense (benefit) at statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Section 162(m)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State income tax net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Tax effects of foreign operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">GILTI provisions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Withholding tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Return to provision true up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign operations permanent differences - foreign exchange gains and losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7.9)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Deemed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in unrecognized tax benefits (ASC 740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10.4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effect of stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (40.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of roll forward of the Company's unrecognized tax benefits and associated interest</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents a roll-forward of the Company&#8217;s unrecognized tax benefits and associated interest for the three months ended March 31, 2025 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrecognized</b></p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Tax&#160;Benefits</b></p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 999</p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increase for current period tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 76</p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Decrease for prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (213)</p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest accrual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency remeasurement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 876</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;font-style:normal;margin-bottom:10pt;visibility:hidden;">&#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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 change in unrecognized tax benefits.</p></div>
<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<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 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_LesseeDisclosureAbstract', window );"><strong>Operating Leases</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_inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock', window );">Schedule of operating lease expense recognized in financial statements</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below summarizes the amounts recognized in the condensed consolidated financial statements related to operating leases for the periods presented (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Rent expense for long-term operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 314</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 314</p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Rent expense for short-term leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47</p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Total rent expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 356</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 361</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of net present value of operating lease liability</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the maturity profile of the Company&#8217;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the condensed consolidated balance sheet as of March 31, 2025 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 977</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,331</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,327</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 957</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 695</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">2030 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 177</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,464</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Less: Interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,018)</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,446</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 904</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Long-term portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,542</p></td></tr><tr><td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,446</p></td></tr></table><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_inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock', window );">Schedule of weighted average remaining lease terms and discount rates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The weighted average remaining lease terms and discount rates for all of the Company&#8217;s operating leases as of March 31, 2025 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Weighted-average lease term remaining </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;">48 months</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.39</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#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_inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of operating lease expense recognized in financial statements.</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;">inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of weighted average remaining lease terms and discount rates.</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;">inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-term obligations (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_inod_LongTermObligationsAbstract', window );"><strong>Long-term obligations</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_inod_LongTermObligationsDisclosureTableTextBlock', window );">Schedule of total long-term obligations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Total long-term obligations as of March 31, 2025 and December 31, 2024 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pension obligations&#160;- accrued pension liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,945</p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Microsoft licenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 442</p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,387</p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,643</p></td></tr><tr><td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Non-Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,096</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,744</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup>&#160;In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LongTermObligationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">inod_LongTermObligationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LongTermObligationsDisclosureTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tabular disclosure for long-term 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;">inod_LongTermObligationsDisclosureTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options and Restricted Stock Units (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_inod_StockOptionsLineItems', window );"><strong>Stock Options and Restricted Stock Units</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_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock', window );">Schedule of stock-based compensation expense</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The stock-based compensation expense related to the Innodata Inc. 2013 Stock Plan, as amended and restated effective June 7, 2016 (the &#8220;2013 Plan&#8221;) and the Innodata Inc. 2021 Equity Compensation Plan, as amended and restated effective as of April 11, 2022 (the &#8220;2021 Plan&#8221;, and together with the 2013 Plan, collectively, the &#8220;Equity Plans&#8221;) were allocated as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 427</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84</p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 950</p></td></tr><tr><td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,034</p></td></tr></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_EquityPlansMember', window );">Equity Plans</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_inod_StockOptionsLineItems', window );"><strong>Stock Options and Restricted Stock Units</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of stock option activity</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">2013 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the 2013 Plan and changes during each of the three-month periods ended March 31, 2025 and 2024 are presented below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted - Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining Contractual </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate </b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,165,193</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.32</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,458,326</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (188,150)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.74</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,977,043</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,948,739</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,878,708</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.68</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.06</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,753,835</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,977,043</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,948,739</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted - Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining&#160;Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,640,009</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,334)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.96</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,336,828</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.21</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.13</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,364,840</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,552,030</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 5.22</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,528,015</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,336,828</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.21</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 6.13</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,364,840</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-size:10pt;font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">2021 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the 2021 Plan and changes during the three-month periods ended March 31, 2025 and 2024 are presented below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted - Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate </b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 842,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.86</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.46</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,847,471</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (73,232)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.57</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (334)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 768,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.28</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,375,435</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 242,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 7.49</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,897,315</p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 768,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.28</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,375,435</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;-&#160;Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise&#160;Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,334)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Outstanding at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 918,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.52</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,946,506</p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercisable at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 386,209</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.49</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,258,907</p></td></tr><tr><td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Vested and Expected to vest at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 918,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.52</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,946,506</p></td></tr></table><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</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_StockOptionsLineItems', window );"><strong>Stock Options and Restricted Stock Units</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_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Summary of restricted stock under the company's plan</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,249,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20.98</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,751</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41.23</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (184,200)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.99</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (530,950)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.37</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 536,680</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41.03</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 749,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.77</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (995)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:middle;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.29</p></td></tr><tr><td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 748,761</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.78</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_StockOptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">inod_StockOptionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit.</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_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_EquityPlansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_EquityPlansMember</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>41
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Comprehensive loss (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Comprehensive loss</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_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock', window );">Schedule of components of accumulated other comprehensive loss and reclassifications from accumulated other comprehensive loss</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Accumulated other comprehensive loss, as reflected in the condensed consolidated balance sheets, consists of pension liability adjustments, net of taxes, foreign currency translation adjustment and changes in fair value of derivatives, net of taxes. The components of accumulated other comprehensive loss as of March 31, 2025 and 2024, and reclassifications from accumulated other comprehensive loss for the three-month periods, are presented below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pension Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive&#160;Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at January 1, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (233)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (395)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,842)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,470)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other comprehensive income before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 230</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (233)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (274)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,733)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,240)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at March 31, 2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (234)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (121)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,733)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,088)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pension Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at January 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,621)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (143)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,380)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,764)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (22)</p></td></tr><tr><td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (413)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,380)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,786)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#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_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accumulated other comprehensive income (loss).</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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock</td>
</tr>
<tr>
<td style="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>42
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_SegmentReportingAbstract', window );"><strong>Segment reporting and concentrations</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_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock', window );">Reconciliation of Assets from Segment to Consolidated</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The measure of segment assets is reported on the balance sheet as total consolidated assets shown in the table below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, 2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2024*</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 91,588</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,790</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,744</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,071</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 125,210</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 113,449</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">*<i style="font-style:italic;">Prior period segment assets of DDS, Synodex and Agility segments have been reclassified to align with the current period presentation, with no impact on the Company&#8217;s consolidated results.</i></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Agility assets include goodwill of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$2.0</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> million for each of the periods ended March 31, 2025 and December 31, 2024.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Segment assets consist of cash, receivables, prepaid and other assets, property and equipment, right of-use-assets, deferred income tax and intangibles.</span></td></tr></table><div style="margin-top:10pt;"></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock', window );">Segment information for other significant income statement</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below shows segment information for other significant income statement items (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended March 31, 2025</b></p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,831</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58,344</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1) (3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,529</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,092</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,729</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,971</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,252</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2) (4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 286</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,980</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Segment operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (129)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,272</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Interest income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (127)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (127)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,262</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (129)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,399</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">DDS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Synodex</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Agility</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,871</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,504</p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Direct operating costs <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1) (3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,869</p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 399</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,678</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,635</p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Selling and administrative expenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2) (4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,795</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 123</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,387</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,305</p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Segment operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 763</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 291</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,330</p></td></tr><tr><td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Interest (income) expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (85)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (84)</p></td></tr><tr><td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Income before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 290</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,414</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, recruitment costs and other direct expenses that are incurred in providing services to our customers.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for credit losses and other administrative overhead expenses.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes non-cash expenses which consist mainly of depreciation, amortization of capitalized software development costs and stock-based compensation expense.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes non-cash expenses which consist mainly of stock-based compensation expense.</span></td></tr></table><div style="margin-top:10pt;"></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">Schedule of revenue by geographic region</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues for the three-month periods ended March 31, 2025, and 2024 by geographic region (determined based upon customer&#8217;s domicile), were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,872</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,226</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United Kingdom </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,426</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,249</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,165</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,039</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Others - principally other European countries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,118</p></td></tr><tr><td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58,344</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,504</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock', window );">Schedule of long-lived assets by geographic region</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Long-lived assets as of March 31, 2025 and December 31, 2024 by geographic region were comprised of (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,182</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign countries:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,214</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,265</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 784</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 806</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,606</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,532</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,367</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,251</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Sri Lanka</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 587</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Israel</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 74</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 63</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,508</p></td></tr><tr><td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,690</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated 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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="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_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reconciliation of other items from reportable segments to their consolidated amount. Excludes reconciliation of revenue, profit (loss), and 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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.</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(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.</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(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock</td>
</tr>
<tr>
<td style="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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Income Per Share</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 loss per share, basic and diluted</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The calculation of the dilutive effect of outstanding options is shown in the table below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income attributable to Innodata Inc. and Subsidiaries </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 989</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,753</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Dilutive effect of outstanding options </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,517</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,486</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Adjusted for dilutive computation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,951</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,239</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivatives (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</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_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock', window );">Schedule of fair value of derivative instruments included within the condensed consolidated balance sheets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the fair value of derivative instruments included within the condensed consolidated balance sheets as of March 31, 2025 and December 31, 2024 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Derivatives designated as hedging instruments:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 499</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Schedule of effect of foreign currency forward contracts designated as cash flow hedges on condensed consolidated statements of operations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The effect of foreign currency forward contracts designated as cash flow hedges on the condensed consolidated statements of operations for the three months ended March 31, 2025 and 2024 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Three Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain (loss) recognized in OCI<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 121</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (13)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net (gain) loss reclassified from accumulated OCI into income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (21)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain recognized in income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">Net change in fair value of the effective portion classified into other comprehensive income (&#8220;OCI&#8221;).</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">Effective portion classified within direct operating costs.</span></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><span style="font-size:10pt;">There were no ineffective portions for the periods presented.</span> </p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.</p></div>
<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 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4E<br><br>Reference 2: 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> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.</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 4B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies and Estimates (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 56,556<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 46,897<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortizationPeriod', window );">Amortization period</a></td>
<td class="text">12 months<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets on contract acquisition costs</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,100<span></span>
</td>
</tr>
<tr class="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 (gains) losses</a></td>
<td class="nump">100<span></span>
</td>
<td class="nump">$ 100<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember', window );">Capitalized software development</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_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Cost</a></td>
<td class="nump">19,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,800<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_InProcessResearchAndDevelopmentMember', window );">In process research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Cost</a></td>
<td class="nump">$ 4,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,600<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | Capitalized software development</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_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful life of intangibles</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | Capitalized software development</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_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful life of intangibles</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaMember', window );">Asia</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_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 17,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 39,300<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_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, acquired at the acquisition 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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CapitalizedContractCostAmortizationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -SubTopic 40<br> -Topic 340<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479483/340-40-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_CapitalizedContractCostAmortizationPeriod</td>
</tr>
<tr>
<td style="padding-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_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_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2147479134/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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and amortization, of property, plant, and equipment and finance lease right-of-use asset.</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 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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<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_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SoftwareDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SoftwareDevelopmentMember</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_InProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InProcessResearchAndDevelopmentMember</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_srt_StatementGeographicalAxis=srt_AsiaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AsiaMember</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_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies and Estimates - Deferred revenue balances (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Summary of Significant Accounting Policies and Estimates</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_ContractWithCustomerLiabilityCurrent', window );">Deferred revenues</a></td>
<td class="nump">$ 8,028<span></span>
</td>
<td class="nump">$ 8,010<span></span>
</td>
<td class="nump">$ 6,668<span></span>
</td>
<td class="nump">$ 3,523<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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies and Estimates - Deferred revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Summary of Significant Accounting Policies and Estimates</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_ContractWithCustomerLiabilityCurrent', window );">Balance at the beginning of period</a></td>
<td class="nump">$ 8,010<span></span>
</td>
<td class="nump">$ 3,523<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenuePeriodIncreaseDecrease', window );">Net deferred revenue in the period</a></td>
<td class="nump">6,465<span></span>
</td>
<td class="nump">9,932<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueRevenueRecognized1', window );">Revenue recognized</a></td>
<td class="num">(6,607)<span></span>
</td>
<td class="num">(6,707)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments', window );">Currency translations and other adjustments</a></td>
<td class="nump">160<span></span>
</td>
<td class="num">(80)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Balance at the end of period</a></td>
<td class="nump">$ 8,028<span></span>
</td>
<td class="nump">$ 6,668<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_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_DeferredRevenuePeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deferred 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;">us-gaap_DeferredRevenuePeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredRevenueRevenueRecognized1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reported as deferred or unearned 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;">us-gaap_DeferredRevenueRevenueRecognized1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_TemporaryEquityForeignCurrencyTranslationAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Adjustments to temporary equity resulting from foreign currency translation adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accounts Receivable (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Accounts Receivable</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_AccountsReceivableGrossCurrent', window );">Gross Accounts receivable</a></td>
<td class="nump">$ 31,415<span></span>
</td>
<td class="nump">$ 29,772<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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses</a></td>
<td class="num">(1,205)<span></span>
</td>
<td class="num">(1,256)<span></span>
</td>
<td class="num">$ (1,000)<span></span>
</td>
<td class="num">$ (992)<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_inod_AllowanceForDoubtfulAccountsBillingAdjustment', window );">Allowance for billing adjustments</a></td>
<td class="num">(633)<span></span>
</td>
<td class="num">(503)<span></span>
</td>
<td class="text">&#160;<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_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">$ 29,577<span></span>
</td>
<td class="nump">$ 28,013<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_inod_AllowanceForDoubtfulAccountsBillingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 doubtful accounts billing adjustment from accounts receivable.</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;">inod_AllowanceForDoubtfulAccountsBillingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<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/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-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_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 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 2: 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 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable - Activity in allowance for credit losses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Accounts Receivable</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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance at beginning of period</a></td>
<td class="nump">$ 1,256<span></span>
</td>
<td class="nump">$ 992<span></span>
</td>
</tr>
<tr class="re">
<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 );">Additions charged to expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Write-offs against allowance</a></td>
<td class="num">(55)<span></span>
</td>
<td class="num">(7)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation', window );">Foreign currency translation adjustment</a></td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance at end of period</a></td>
<td class="nump">$ 1,205<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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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 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 2: 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 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 direct write-downs of accounts receivable charged against the allowance.</p></div>
<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 (d)<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_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign currency translation gain (loss) which decreases (increases) allowance for credit loss on financing receivable. 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/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<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_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2025 </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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets</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_Goodwill', window );">Balance - January 1, 2025</a></td>
<td class="nump">$ 1,998<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation adjustment</a></td>
<td class="nump">20<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance - March 31, 2025</a></td>
<td class="nump">$ 2,018<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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<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 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-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_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>51
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Acquisition-related intangible assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 32,908<span></span>
</td>
<td class="nump">$ 33,019<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(19,350)<span></span>
</td>
<td class="num">(19,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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">12<span></span>
</td>
<td class="num">(506)<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 );">Net Carrying Value</a></td>
<td class="nump">13,570<span></span>
</td>
<td class="nump">13,353<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=inod_AcquiredIntangibleAssetsMember', window );">Acquired Intangible Assets</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">9,254<span></span>
</td>
<td class="nump">9,656<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(8,447)<span></span>
</td>
<td class="num">(8,653)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">11<span></span>
</td>
<td class="num">(33)<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 );">Net Carrying Value</a></td>
<td class="nump">818<span></span>
</td>
<td class="nump">970<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed technology</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">2,881<span></span>
</td>
<td class="nump">3,060<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(2,760)<span></span>
</td>
<td class="num">(2,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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">2<span></span>
</td>
<td class="num">(3)<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 );">Net Carrying Value</a></td>
<td class="nump">123<span></span>
</td>
<td class="nump">146<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">1,965<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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,747)<span></span>
</td>
<td class="num">(1,856)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(29)<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 );">Net Carrying Value</a></td>
<td class="nump">218<span></span>
</td>
<td class="nump">259<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_TrademarksAndTradeNamesMember', window );">Trademarks and tradenames</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">840<span></span>
</td>
<td class="nump">862<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(813)<span></span>
</td>
<td class="num">(826)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">1<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 );">Net Carrying Value</a></td>
<td class="nump">28<span></span>
</td>
<td class="nump">36<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</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">40<span></span>
</td>
<td class="nump">44<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(40)<span></span>
</td>
<td class="num">(44)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DatabasesMember', window );">Media Contact Database</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">3,528<span></span>
</td>
<td class="nump">3,546<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(3,087)<span></span>
</td>
<td class="num">(3,016)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">8<span></span>
</td>
<td class="num">(1)<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 );">Net Carrying Value</a></td>
<td class="nump">449<span></span>
</td>
<td class="nump">529<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_ComputerSoftwareIntangibleAssetMember', window );">Capitalized Developed Software</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">23,654<span></span>
</td>
<td class="nump">23,363<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(10,903)<span></span>
</td>
<td class="num">(10,507)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">1<span></span>
</td>
<td class="num">(473)<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 );">Net Carrying Value</a></td>
<td class="nump">12,752<span></span>
</td>
<td class="nump">12,383<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=inod_CapitalizedSoftwareDevelopmentCostMember', window );">Capitalized Developed Software</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">19,352<span></span>
</td>
<td class="nump">19,811<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(10,903)<span></span>
</td>
<td class="num">(10,507)<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(463)<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 );">Net Carrying Value</a></td>
<td class="nump">8,448<span></span>
</td>
<td class="nump">8,841<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=inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember', window );">Capitalized Developed Software - in Progress</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">4,302<span></span>
</td>
<td class="nump">3,552<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_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">2<span></span>
</td>
<td class="num">(10)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 4,304<span></span>
</td>
<td class="nump">$ 3,542<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign currency translation adjustments on 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478859/928-340-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 8: 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_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=inod_AcquiredIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TrademarksAndTradeNamesMember</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_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_DatabasesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DatabasesMember</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_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComputerSoftwareIntangibleAssetMember</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=inod_CapitalizedSoftwareDevelopmentCostMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=inod_CapitalizedSoftwareDevelopmentCostMember</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=inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Estimated amortization expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible 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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">2025</a></td>
<td class="nump">$ 4,833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2026</a></td>
<td class="nump">4,629<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2027</a></td>
<td class="nump">3,130<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2028</a></td>
<td class="nump">774<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2029</a></td>
<td class="nump">100<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_inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter', window );">Thereafter</a></td>
<td class="nump">104<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 13,570<span></span>
</td>
<td class="nump">$ 13,353<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 thereafter excludes 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;">inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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>53
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 2,018<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,998<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=inod_AcquiredIntangibleAssetsMember', window );">Acquired Intangible Assets</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">200<span></span>
</td>
<td class="nump">$ 200<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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Capitalized Developed Software</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 8: 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_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=inod_AcquiredIntangibleAssetsMember</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_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComputerSoftwareIntangibleAssetMember</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Tax rate reconciliation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</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_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">$ 612<span></span>
</td>
<td class="nump">$ 424<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_inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense', window );">Federal income tax expense (benefit) at statutory rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Effect of:</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_inod_EffectiveIncomeTaxRateReconciliationSection162Percentage', window );">Section 162(m)</a></td>
<td class="nump">28.10%<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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income tax net of federal benefit</a></td>
<td class="nump">2.10%<span></span>
</td>
<td class="nump">0.70%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign', window );">Tax effects of foreign operations</a></td>
<td class="nump">1.20%<span></span>
</td>
<td class="nump">2.40%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent', window );">Global Intangible Low-Taxed Income (GILTI)</a></td>
<td class="nump">1.10%<span></span>
</td>
<td class="nump">11.80%<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_inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage', window );">Withholding tax</a></td>
<td class="nump">0.30%<span></span>
</td>
<td class="nump">2.00%<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_inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp', window );">Return to provision true up</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.10%<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_inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses', window );">Foreign operations permanent differences - foreign exchange gains and losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7.90%)<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_inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent', window );">Deemed interest</a></td>
<td class="num">(0.30%)<span></span>
</td>
<td class="num">(2.70%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Foreign rate differential</a></td>
<td class="num">(0.50%)<span></span>
</td>
<td class="nump">0.50%<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_inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits', window );">Change in unrecognized tax benefits (ASC 740)</a></td>
<td class="num">(1.50%)<span></span>
</td>
<td class="nump">6.10%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="num">(3.30%)<span></span>
</td>
<td class="num">(10.40%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">Effect of stock-based compensation</a></td>
<td class="num">(40.80%)<span></span>
</td>
<td class="nump">0.70%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent', window );">Other</a></td>
<td class="num">(0.10%)<span></span>
</td>
<td class="nump">0.70%<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_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">7.30%<span></span>
</td>
<td class="nump">30.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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">U.S. federal</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_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</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_inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense', window );">Federal income tax expense (benefit) at statutory rate</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_inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deemed interest.</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;">inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>These lines are represents tax rate of income unrecognized tax benefits.</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;">inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Effective Income Tax Rate Reconciliation, Return to Provision True Up.</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;">inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_EffectiveIncomeTaxRateReconciliationSection162Percentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income tax rate reconciliation section 162 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;">inod_EffectiveIncomeTaxRateReconciliationSection162Percentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income tax rate reconciliation withholding tax 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;">inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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  foreign exchange gains and losses.</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;">inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_IncomeTaxesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">inod_IncomeTaxesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for 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/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 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> -Subparagraph (b)(2)<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 50<br> -Paragraph 12A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationGiltiPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reported income tax expense from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to global intangible low-taxed income (GILTI).</p></div>
<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reported income tax benefit (expense) from difference to income tax expense (benefit) computed by applying statutory federal (national) income tax rate to pretax income (loss) from continuing operation, attributable to other reconciling items. Excludes state and local income tax expense (benefit), federal tax expense (benefit), statutory income tax expense (benefit) outside of country of domicile, tax credit, nondeductible expense, deduction, income tax settlement, income tax contingency, and cross-border tax law.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-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_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -SubTopic 740<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479176/718-740-35-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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in foreign income tax contingency.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign</td>
</tr>
<tr>
<td style="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_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Unrecognized tax benefits (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2025 </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_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</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_UnrecognizedTaxBenefits', window );">Balance - January 1, 2025</a></td>
<td class="nump">$ 999<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions', window );">Increase for current year tax positions</a></td>
<td class="nump">76<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Decrease for prior year tax positions</a></td>
<td class="num">(213)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense', window );">Interest accrual</a></td>
<td class="nump">10<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_inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation', window );">Foreign currency remeasurement</a></td>
<td class="nump">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_UnrecognizedTaxBenefits', window );">Balance - March 31, 2025</a></td>
<td class="nump">$ 876<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unrecognized tax benefits resulting from foreign currency translation.</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;">inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unrecognized tax benefits.</p></div>
<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<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 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-10B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<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 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<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 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for an underpayment of income taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-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_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>56
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2025</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_srt_RangeAxis=srt_MinimumMember', window );">Minimum</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_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lease agreements term</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_PercentageOfRentalEscalations', window );">Percentage of rental escalations</a></td>
<td class="nump">1.75%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lease agreements term</a></td>
<td class="text">11 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_PercentageOfRentalEscalations', window );">Percentage of rental escalations</a></td>
<td class="nump">15.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_PercentageOfRentalEscalations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 rental escalations.</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;">inod_PercentageOfRentalEscalations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases - Financial statements related to operating leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</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_OperatingLeaseExpense', window );">Total rent expense</a></td>
<td class="nump">$ 356<span></span>
</td>
<td class="nump">$ 361<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=inod_LongTermOperatingLeaseMember', window );">Long-term operating leases</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_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</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_OperatingLeaseExpense', window );">Total rent expense</a></td>
<td class="nump">314<span></span>
</td>
<td class="nump">314<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=inod_ShortTermOperatingLeaseMember', window );">Short-term operating leases</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_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</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_OperatingLeaseExpense', window );">Total rent expense</a></td>
<td class="nump">$ 42<span></span>
</td>
<td class="nump">$ 47<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_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-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_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_PropertyPlantAndEquipmentByTypeAxis=inod_LongTermOperatingLeaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=inod_LongTermOperatingLeaseMember</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=inod_ShortTermOperatingLeaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=inod_ShortTermOperatingLeaseMember</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>58
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Operating Leases - Net present value of the operating lease liability (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeDisclosureAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2025</a></td>
<td class="nump">$ 977<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2026</a></td>
<td class="nump">1,331<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2027</a></td>
<td class="nump">1,327<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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2028</a></td>
<td class="nump">957<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2029</a></td>
<td class="nump">695<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_inod_LesseeOperatingLeaseLiabilityToBePaidThereafter', window );">2030 and thereafter</a></td>
<td class="nump">177<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">5,464<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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: Interest</a></td>
<td class="num">(1,018)<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_OperatingLeaseLiability', window );">Net present value of lease liabilities</a></td>
<td class="nump">4,446<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current portion</a></td>
<td class="nump">904<span></span>
</td>
<td class="nump">$ 877<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long-term portion</a></td>
<td class="nump">3,542<span></span>
</td>
<td class="nump">$ 3,778<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_OperatingLeaseLiability', window );">Total</a></td>
<td class="nump">$ 4,446<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_inod_LesseeOperatingLeaseLiabilityToBePaidThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 due thereafter. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LesseeOperatingLeaseLiabilityToBePaidThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Operating Leases - Weighted average remaining lease terms (Details)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2025</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_LesseeDisclosureAbstract', window );"><strong>Operating Leases</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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted-average lease term remaining (in months)</a></td>
<td class="text">48 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted-average discount rate</a></td>
<td class="nump">9.39%<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_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long-term obligations (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LongTermObligationsAbstract', window );"><strong>Long-term obligations</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_PostemploymentBenefitsLiabilityCurrentAndNoncurrent', window );">Pension obligations - accrued pension liability</a></td>
<td class="nump">$ 8,277<span></span>
</td>
<td class="nump">$ 7,945<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_inod_MicrosoftLicensesObligations', window );">Microsoft licenses</a></td>
<td class="nump">324<span></span>
</td>
<td class="nump">442<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_TotalLongTermObligations', window );">Total long-term obligations</a></td>
<td class="nump">8,601<span></span>
</td>
<td class="nump">8,387<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_inod_CurrentPortionOfLongTermObligations', window );">Less: Current portion of long-term obligations</a></td>
<td class="nump">1,505<span></span>
</td>
<td class="nump">1,643<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_inod_NoncurrentPortionOfLongTermObligations', window );">Totals Non-Current portion of long-term obligations</a></td>
<td class="nump">7,096<span></span>
</td>
<td class="nump">$ 6,744<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_inod_LicensesObligationsAmountPayableAnnually', window );">Microsoft licenses, Amount payable annually over the term of the agreement</a></td>
<td class="nump">$ 400<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_inod_CurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 portion of long-term obligations of the 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;">inod_CurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LicensesObligationsAmountPayableAnnually">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 payable annually over the term of the license agreement.</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;">inod_LicensesObligationsAmountPayableAnnually</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LongTermObligationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">inod_LongTermObligationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_MicrosoftLicensesObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Microsoft licenses obligations as of 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;">inod_MicrosoftLicensesObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_NoncurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non-current portion of long-term obligations of the 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;">inod_NoncurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_TotalLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of long-term obligations of the 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;">inod_TotalLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_PostemploymentBenefitsLiabilityCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 as of the balance sheet date of the obligations recognized for the various benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 712<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481179/712-10-25-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 712<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481179/712-10-25-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_PostemploymentBenefitsLiabilityCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>61
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2025 </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_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies</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_LitigationReserve', window );">Estimated litigation liability</a></td>
<td class="nump">$ 5,700,000<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_inod_InterestRateDescriptionLitigation', window );">Interest rate description litigation</a></td>
<td class="text">plus legal interest that accrued at 12% per annum from August&#160;13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyAccrualAtCarryingValue', window );">Litigation settlement expense</a></td>
<td class="nump">$ 450,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_InterestRateDescriptionLitigation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of the interest rate relating to Litigation</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;">inod_InterestRateDescriptionLitigation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying amount of the estimated litigation liability for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation 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/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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LossContingencyAccrualAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/2003/role/disclosureRef<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><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-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_LossContingencyAccrualAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>62
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options and Restricted Stock Units - Stock-Based Compensation Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Total stock-based compensation</a></td>
<td class="nump">$ 2,881<span></span>
</td>
<td class="nump">$ 1,034<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_EquityPlansMember', window );">Equity Plans</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_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value</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_StockOptionPlanExpense', window );">Direct operating costs</a></td>
<td class="nump">427<span></span>
</td>
<td class="nump">84<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherSellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">2,454<span></span>
</td>
<td class="nump">950<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_ShareBasedCompensation', window );">Total stock-based compensation</a></td>
<td class="nump">$ 2,881<span></span>
</td>
<td class="nump">$ 1,034<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_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-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_OtherSellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 selling, general and administrative expense 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(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_OtherSellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_EquityPlansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_EquityPlansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options and Restricted Stock Units - Summary of Stock Option Activity (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Number of Options, Granted (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of Options, Exercised (in shares)</a></td>
<td class="num">(261,382)<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Exercised (in dollars per shares)</a></td>
<td class="nump">$ 3.68<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_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option | 2013 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Beginning balance (in shares)</a></td>
<td class="nump">3,165,193<span></span>
</td>
<td class="nump">5,339,162<span></span>
</td>
<td class="nump">5,339,162<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of Options, Exercised (in shares)</a></td>
<td class="num">(188,150)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of Options, Forfeited/Expired (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,334)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Ending balance (in shares)</a></td>
<td class="nump">2,977,043<span></span>
</td>
<td class="nump">5,336,828<span></span>
</td>
<td class="nump">3,165,193<span></span>
</td>
<td class="nump">5,339,162<span></span>
</td>
</tr>
<tr class="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 );">Number of Options Exercisable (in shares)</a></td>
<td class="nump">2,878,708<span></span>
</td>
<td class="nump">3,552,030<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Number of Options, Vested and Expected to Vest (in shares)</a></td>
<td class="nump">2,977,043<span></span>
</td>
<td class="nump">5,336,828<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding beginning balance (in dollars per shares)</a></td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="nump">$ 3.22<span></span>
</td>
<td class="nump">$ 3.22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Exercised (in dollars per shares)</a></td>
<td class="nump">3.74<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Forfeited/Expired (in dollars per shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.96<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding Ending balance (in dollars per shares)</a></td>
<td class="nump">3.67<span></span>
</td>
<td class="nump">3.21<span></span>
</td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="nump">$ 3.22<span></span>
</td>
</tr>
<tr class="re">
<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 );">Weighted Average Exercise Price Exercisable (in dollars per shares)</a></td>
<td class="nump">3.68<span></span>
</td>
<td class="nump">2.28<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)</a></td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="nump">$ 3.21<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Term Outstanding (in years)</a></td>
<td class="text">6 years 1 month 9 days<span></span>
</td>
<td class="text">6 years 1 month 17 days<span></span>
</td>
<td class="text">6 years 3 months 25 days<span></span>
</td>
<td class="text">6 years 4 months 17 days<span></span>
</td>
</tr>
<tr class="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 );">Weighted Average Remaining Contractual Term Exercisable (in years)</a></td>
<td class="text">6 years 21 days<span></span>
</td>
<td class="text">5 years 2 months 19 days<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)</a></td>
<td class="text">6 years 1 month 9 days<span></span>
</td>
<td class="text">6 years 1 month 17 days<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate Intrinsic Value, Outstanding</a></td>
<td class="nump">$ 95,948,739<span></span>
</td>
<td class="nump">$ 18,364,840<span></span>
</td>
<td class="nump">$ 113,458,326<span></span>
</td>
<td class="nump">$ 28,640,009<span></span>
</td>
</tr>
<tr class="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 );">Aggregate Intrinsic Value, Exercisable</a></td>
<td class="nump">92,753,835<span></span>
</td>
<td class="nump">15,528,015<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Aggregate Intrinsic Value, Vested and Expected to Vest</a></td>
<td class="nump">$ 95,948,739<span></span>
</td>
<td class="nump">$ 18,364,840<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_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option | 2021 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Beginning balance (in shares)</a></td>
<td class="nump">842,271<span></span>
</td>
<td class="nump">923,571<span></span>
</td>
<td class="nump">923,571<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of Options, Exercised (in shares)</a></td>
<td class="num">(73,232)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of Options, Forfeited/Expired (in shares)</a></td>
<td class="num">(334)<span></span>
</td>
<td class="num">(5,334)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Ending balance (in shares)</a></td>
<td class="nump">768,705<span></span>
</td>
<td class="nump">918,237<span></span>
</td>
<td class="nump">842,271<span></span>
</td>
<td class="nump">923,571<span></span>
</td>
</tr>
<tr class="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 );">Number of Options Exercisable (in shares)</a></td>
<td class="nump">242,512<span></span>
</td>
<td class="nump">386,209<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Number of Options, Vested and Expected to Vest (in shares)</a></td>
<td class="nump">768,705<span></span>
</td>
<td class="nump">918,237<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding beginning balance (in dollars per shares)</a></td>
<td class="nump">$ 15.86<span></span>
</td>
<td class="nump">$ 3.41<span></span>
</td>
<td class="nump">$ 3.41<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Exercised (in dollars per shares)</a></td>
<td class="nump">3.57<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Forfeited/Expired (in dollars per shares)</a></td>
<td class="nump">3.41<span></span>
</td>
<td class="nump">3.41<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding Ending balance (in dollars per shares)</a></td>
<td class="nump">17.04<span></span>
</td>
<td class="nump">3.41<span></span>
</td>
<td class="nump">$ 15.86<span></span>
</td>
<td class="nump">$ 3.41<span></span>
</td>
</tr>
<tr class="re">
<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 );">Weighted Average Exercise Price Exercisable (in dollars per shares)</a></td>
<td class="nump">3.34<span></span>
</td>
<td class="nump">3.34<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)</a></td>
<td class="nump">$ 17.04<span></span>
</td>
<td class="nump">$ 3.41<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Term Outstanding (in years)</a></td>
<td class="text">8 years 3 months 10 days<span></span>
</td>
<td class="text">8 years 6 months 7 days<span></span>
</td>
<td class="text">8 years 5 months 15 days<span></span>
</td>
<td class="text">8 years 9 months 3 days<span></span>
</td>
</tr>
<tr class="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 );">Weighted Average Remaining Contractual Term Exercisable (in years)</a></td>
<td class="text">7 years 5 months 26 days<span></span>
</td>
<td class="text">8 years 5 months 26 days<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)</a></td>
<td class="text">8 years 3 months 10 days<span></span>
</td>
<td class="text">8 years 6 months 7 days<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate Intrinsic Value, Outstanding</a></td>
<td class="nump">$ 16,375,435<span></span>
</td>
<td class="nump">$ 2,946,506<span></span>
</td>
<td class="nump">$ 20,847,471<span></span>
</td>
<td class="nump">$ 4,786,252<span></span>
</td>
</tr>
<tr class="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 );">Aggregate Intrinsic Value, Exercisable</a></td>
<td class="nump">7,897,315<span></span>
</td>
<td class="nump">1,258,907<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Aggregate Intrinsic Value, Vested and Expected to Vest</a></td>
<td class="nump">$ 16,375,435<span></span>
</td>
<td class="nump">$ 2,946,506<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OptionIndexedToIssuersEquityEquityAxis=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_OptionIndexedToIssuersEquityEquityAxis=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_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options and Restricted Stock Units - Summary of Restricted Stock Unit activity (Details) - Restricted Stock Units - Equity Plans - $ / shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Unvested at Beginning of the year</a></td>
<td class="nump">1,249,079<span></span>
</td>
<td class="nump">749,756<span></span>
</td>
</tr>
<tr class="re">
<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 );">Number of Restricted Stock Units, Granted</a></td>
<td class="nump">2,751<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Number of Restricted Stock Units, Vested</a></td>
<td class="num">(184,200)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Number of Restricted Stock Units, Forfeited/Expired</a></td>
<td class="num">(530,950)<span></span>
</td>
<td class="num">(995)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Unvested at End of the year</a></td>
<td class="nump">536,680<span></span>
</td>
<td class="nump">748,761<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Outstanding at Beginning of the year</a></td>
<td class="nump">$ 20.98<span></span>
</td>
<td class="nump">$ 5.77<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Granted</a></td>
<td class="nump">41.23<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Vested</a></td>
<td class="nump">4.99<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Forfeited/Expired</a></td>
<td class="nump">6.37<span></span>
</td>
<td class="nump">8.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Outstanding at End of the year</a></td>
<td class="nump">$ 41.03<span></span>
</td>
<td class="nump">$ 5.78<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_TitleOfIndividualAxis=inod_NonEmployeeMember', window );">Non-employees and non-employee directors</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of Restricted Stock Units, Granted</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_EquityPlansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_EquityPlansMember</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_TitleOfIndividualAxis=inod_NonEmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=inod_NonEmployeeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options and Restricted Stock Units - Additional Information (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2025 </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_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Compensation cost related to non-vested stock options and restricted stock awards not yet recognized</a></td>
<td class="nump">$ 19.6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period over which compensation cost recognized</a></td>
<td class="text">31 months<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_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Compensation cost related to non-vested stock options and restricted stock awards not yet recognized</a></td>
<td class="nump">$ 8.2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period over which compensation cost recognized</a></td>
<td class="text">31 months<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 not yet recognized for nonvested 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 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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OptionIndexedToIssuersEquityEquityAxis=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_OptionIndexedToIssuersEquityEquityAxis=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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive income (loss)</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_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="nump">$ 63,472<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_StockholdersEquity', window );">Balance at the end</a></td>
<td class="nump">75,485<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_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember', window );">Pension Liability Adjustment</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive income (loss)</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_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="num">(233)<span></span>
</td>
<td class="num">$ (412)<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_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(233)<span></span>
</td>
<td class="num">(412)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax', window );">Net amount reclassified to earnings</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_StockholdersEquity', window );">Balance at the end</a></td>
<td class="num">(234)<span></span>
</td>
<td class="num">(413)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember', window );">Fair Value of Derivatives</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive income (loss)</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_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="num">(395)<span></span>
</td>
<td class="nump">41<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive loss before reclassifications, net of taxes</a></td>
<td class="nump">121<span></span>
</td>
<td class="num">(13)<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_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(274)<span></span>
</td>
<td class="nump">28<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax', window );">Net amount reclassified to earnings</a></td>
<td class="nump">153<span></span>
</td>
<td class="num">(21)<span></span>
</td>
</tr>
<tr class="ro">
<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 the end</a></td>
<td class="num">(121)<span></span>
</td>
<td class="nump">7<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember', window );">Foreign Currency Translation Adjustment</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive income (loss)</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_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="num">(1,842)<span></span>
</td>
<td class="num">(1,250)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive loss before reclassifications, net of taxes</a></td>
<td class="nump">109<span></span>
</td>
<td class="num">(130)<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_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(1,733)<span></span>
</td>
<td class="num">(1,380)<span></span>
</td>
</tr>
<tr class="ro">
<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 the end</a></td>
<td class="num">(1,733)<span></span>
</td>
<td class="num">(1,380)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember', window );">Accumulated Other Comprehensive Loss</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive income (loss)</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_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="num">(2,470)<span></span>
</td>
<td class="num">(1,621)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive loss before reclassifications, net of taxes</a></td>
<td class="nump">230<span></span>
</td>
<td class="num">(143)<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_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(2,240)<span></span>
</td>
<td class="num">(1,764)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax', window );">Net amount reclassified to earnings</a></td>
<td class="nump">152<span></span>
</td>
<td class="num">(22)<span></span>
</td>
</tr>
<tr class="re">
<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 the end</a></td>
<td class="num">$ (2,088)<span></span>
</td>
<td class="num">$ (1,786)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 after tax and before reclassification adjustments of other comprehensive income (loss).</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;">inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_AccumulatedOtherComprehensiveIncomeLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<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 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems</td>
</tr>
<tr>
<td style="padding-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_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other comprehensive income (loss).</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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<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 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-4<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482739/220-10-55-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_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reclassification adjustments of other comprehensive income (loss).</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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<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 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-4<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482739/220-10-55-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_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember</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>67
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Segment reporting and concentrations - Segment assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_Assets', window );">Total assets</a></td>
<td class="nump">$ 125,210<span></span>
</td>
<td class="nump">$ 113,449<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">2,018<span></span>
</td>
<td class="nump">1,998<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_StatementBusinessSegmentsAxis=inod_DdsMember', window );">DDS</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_Assets', window );">Total assets</a></td>
<td class="nump">102,723<span></span>
</td>
<td class="nump">91,588<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_StatementBusinessSegmentsAxis=inod_SynodexMember', window );">Synodex</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_Assets', window );">Total assets</a></td>
<td class="nump">4,743<span></span>
</td>
<td class="nump">4,790<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_StatementBusinessSegmentsAxis=inod_AgilityMember', window );">Agility</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_Assets', window );">Total assets</a></td>
<td class="nump">17,744<span></span>
</td>
<td class="nump">17,071<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="nump">$ 2,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_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-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_StatementBusinessSegmentsAxis=inod_DdsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=inod_DdsMember</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_StatementBusinessSegmentsAxis=inod_SynodexMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=inod_SynodexMember</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_StatementBusinessSegmentsAxis=inod_AgilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=inod_AgilityMember</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations- Significant income statement (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 58,344<span></span>
</td>
<td class="nump">$ 26,504<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DirectOperatingCosts', window );">Direct operating costs</a></td>
<td class="nump">35,092<span></span>
</td>
<td class="nump">16,869<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">23,252<span></span>
</td>
<td class="nump">9,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_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">14,980<span></span>
</td>
<td class="nump">8,305<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Segment operating income</a></td>
<td class="nump">8,272<span></span>
</td>
<td class="nump">1,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_InterestIncomeExpenseNonoperatingNet', window );">Interest income, net</a></td>
<td class="num">(127)<span></span>
</td>
<td class="num">(84)<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">8,399<span></span>
</td>
<td class="nump">1,414<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_StatementBusinessSegmentsAxis=inod_DdsMember', window );">DDS</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">50,831<span></span>
</td>
<td class="nump">19,705<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DirectOperatingCosts', window );">Direct operating costs</a></td>
<td class="nump">31,102<span></span>
</td>
<td class="nump">13,147<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">19,729<span></span>
</td>
<td class="nump">6,558<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">11,594<span></span>
</td>
<td class="nump">5,795<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 );">Segment operating income</a></td>
<td class="nump">8,135<span></span>
</td>
<td class="nump">763<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest income, net</a></td>
<td class="num">(127)<span></span>
</td>
<td class="num">(85)<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 );">Income before provision for income taxes</a></td>
<td class="nump">8,262<span></span>
</td>
<td class="nump">848<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_SynodexMember', window );">Synodex</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">2,013<span></span>
</td>
<td class="nump">1,871<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DirectOperatingCosts', window );">Direct operating costs</a></td>
<td class="nump">1,461<span></span>
</td>
<td class="nump">1,472<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">552<span></span>
</td>
<td class="nump">399<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">286<span></span>
</td>
<td class="nump">123<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Segment operating income</a></td>
<td class="nump">266<span></span>
</td>
<td class="nump">276<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 );">Income before provision for income taxes</a></td>
<td class="nump">266<span></span>
</td>
<td class="nump">276<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_AgilityMember', window );">Agility</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">5,500<span></span>
</td>
<td class="nump">4,928<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DirectOperatingCosts', window );">Direct operating costs</a></td>
<td class="nump">2,529<span></span>
</td>
<td class="nump">2,250<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">2,971<span></span>
</td>
<td class="nump">2,678<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">3,100<span></span>
</td>
<td class="nump">2,387<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Segment operating income</a></td>
<td class="num">(129)<span></span>
</td>
<td class="nump">291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest income, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="num">$ (129)<span></span>
</td>
<td class="nump">$ 290<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_DirectOperatingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 direct operating costs incurred 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DirectOperatingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income (expense) classified as nonoperating.</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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-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_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StatementBusinessSegmentsAxis=inod_DdsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=inod_DdsMember</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_StatementBusinessSegmentsAxis=inod_SynodexMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=inod_SynodexMember</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_StatementBusinessSegmentsAxis=inod_AgilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=inod_AgilityMember</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations - Revenues by geographic region (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 58,344<span></span>
</td>
<td class="nump">$ 26,504<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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">48,897<span></span>
</td>
<td class="nump">17,872<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_CA', window );">Canada</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">2,723<span></span>
</td>
<td class="nump">2,226<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_GB', window );">United Kingdom</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">2,426<span></span>
</td>
<td class="nump">2,249<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_NL', window );">The Netherlands</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">2,165<span></span>
</td>
<td class="nump">2,039<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=inod_OtherPrincipallyEuropeMember', window );">Others - principally other European countries</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 2,133<span></span>
</td>
<td class="nump">$ 2,118<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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=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_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CA</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_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GB</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_NL">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NL</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=inod_OtherPrincipallyEuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=inod_OtherPrincipallyEuropeMember</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Segment reporting and concentrations - Long-lived assets by geographic region (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">$ 24,303<span></span>
</td>
<td class="nump">$ 23,690<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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">10,633<span></span>
</td>
<td class="nump">10,182<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_CA', window );">Canada</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">6,214<span></span>
</td>
<td class="nump">6,265<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_GB', window );">United Kingdom</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">784<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_srt_StatementGeographicalAxis=country_PH', window );">Philippines</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">3,606<span></span>
</td>
<td class="nump">3,532<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_IN', window );">India</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">2,367<span></span>
</td>
<td class="nump">2,251<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_LK', window );">Sri Lanka</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">621<span></span>
</td>
<td class="nump">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_srt_StatementGeographicalAxis=stpr_IL', window );">Israel</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">74<span></span>
</td>
<td class="nump">63<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_DE', window );">Germany</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">4<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=inod_ForeignCountriesMember', window );">Total foreign</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">$ 13,670<span></span>
</td>
<td class="nump">$ 13,508<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=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_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CA</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_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GB</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_PH">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PH</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_IN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IN</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_LK">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LK</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=stpr_IL">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=stpr_IL</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_DE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DE</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=inod_ForeignCountriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=inod_ForeignCountriesMember</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2025 </div>
<div>USD ($) </div>
<div>segment </div>
<div>customer</div>
</th>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>customer</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($) </div>
<div>customer</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reporting segments | segment</a></td>
<td class="nump">3<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_OperatingLeaseRightOfUseAsset', window );">Right-of-use-asset, net | $</a></td>
<td class="nump">$ 4,036<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,238<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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales revenue, net | Customer concentration risk | Non-US</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">16.00%<span></span>
</td>
<td class="nump">33.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_srt_MajorCustomersAxis=inod_ForeignCustomerMember', window );">Foreign customer | Accounts receivable | Customer concentration risk</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">17.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16.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_MajorCustomersAxis=inod_OneClientMember', window );">One customer | Sales revenue, net | Customer concentration risk</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">61.00%<span></span>
</td>
<td class="nump">24.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_srt_MajorCustomersAxis=inod_OneClientMember', window );">One customer | Accounts receivable | Customer concentration risk</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">51.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_TwoClientMember', window );">Two customer | Accounts receivable | Customer concentration risk</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">61.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_MajorCustomersAxis=inod_ClientMember', window );">Customer | Customer concentration risk | 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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_ClientMember', window );">Customer | Accounts receivable | Customer concentration risk</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<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_srt_MajorCustomersAxis=inod_ClientMember', window );">Customer | Minimum | Sales revenue, net | Customer concentration risk</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_ClientMember', window );">Customer | Minimum | Accounts receivable | Customer concentration risk</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_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</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_inod_NumberOfClient">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number of clients.</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;">inod_NumberOfClient</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 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>
<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_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_NonUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=inod_ForeignCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=inod_ForeignCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=inod_OneClientMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=inod_OneClientMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=inod_TwoClientMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=inod_TwoClientMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=inod_ClientMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=inod_ClientMember</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_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_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Per Share (Details) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Income Per Share</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 Income (Loss)</a></td>
<td class="nump">$ 7,787<span></span>
</td>
<td class="nump">$ 989<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average common shares outstanding</a></td>
<td class="nump">31,434<span></span>
</td>
<td class="nump">28,753<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of outstanding options and restricted stock units</a></td>
<td class="nump">3,517<span></span>
</td>
<td class="nump">3,486<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Adjusted for dilutive computation</a></td>
<td class="nump">34,951<span></span>
</td>
<td class="nump">32,239<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<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 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480454/718-10-45-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 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-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_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>73
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Per Share - Additional information (Details) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive securities excluded from computation of earnings per share</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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of outstanding options and restricted stock units</a></td>
<td class="nump">3,517,000<span></span>
</td>
<td class="nump">3,486,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive securities excluded from computation of earnings per share</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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of outstanding options and restricted stock units</a></td>
<td class="nump">3,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive securities excluded from computation of earnings per share</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Shares not included in computation of diluted loss per share</a></td>
<td class="nump">449,342<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive securities excluded from computation of earnings per share</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Shares not included in computation of diluted loss per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<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 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480454/718-10-45-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 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-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_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivatives - Additional Information (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</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_DerivativeNotionalAmount', window );">Derivative notional amount</a></td>
<td class="nump">$ 17.2<span></span>
</td>
<td class="nump">$ 22.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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_DerivativeNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payment on derivative.</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 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1B<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivatives - Fair value of derivative instruments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember', window );">Accrued expenses and other | Foreign currency forward contracts | Designated as hedging instrument</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_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value</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_DerivativeInstrumentsAndHedgesLiabilities', window );">Derivatives designated as hedging instruments</a></td>
<td class="nump">$ 153<span></span>
</td>
<td class="nump">$ 499<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_DerivativeInstrumentsAndHedgesLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 as of the balance sheet date of the (a) fair values of all liabilities resulting from contracts that meet the criteria of being accounted for as derivative instruments, and (b) the carrying amounts of the liabilities arising from financial instruments or contracts used to mitigate a specified risk (hedge), and which are expected to be extinguished or otherwise disposed of within a year or the normal operating cycle, if longer, net of the effects of master netting arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgesLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-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_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember</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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember</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_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivatives - Contracts designated as cash flow hedges (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax', window );">Net gain (loss) recognized in OCI</a></td>
<td class="nump">$ 121<span></span>
</td>
<td class="num">$ (13)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax', window );">Net (gain) loss reclassified from accumulated OCI into income</a></td>
<td class="nump">$ 153<span></span>
</td>
<td class="num">$ (21)<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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and reclassification, of gain (loss) from derivative instrument designated and qualifying cash flow hedge included in assessment of hedge effectiveness.</p></div>
<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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<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><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480627/815-20-45-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<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 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reclassification adjustments of other comprehensive income (loss).</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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<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 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-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_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>77
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Line Of Credit (Details) - Revolving Credit Facility<br> $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Aug. 05, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2025 </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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit</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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="nump">$ 30.0<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_inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender', window );">Maximum borrowing capacity subject to approval of the lender</a></td>
<td class="nump">$ 50.0<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_inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of eligible accounts considered for determination of borrowing base</a></td>
<td class="nump">85.00%<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_inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of eligible unbilled accounts considered for determination of borrowing base</a></td>
<td class="nump">80.00%<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_inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of all eligible unbilled accounts considered for determination of borrowing base</a></td>
<td class="nump">30.00%<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_inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of eligible foreign accounts considered for determination of borrowing base</a></td>
<td class="nump">85.00%<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_inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of all eligible foreign accounts considered for determination of borrowing base</a></td>
<td class="nump">20.00%<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_inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase', window );">Amount of all eligible foreign accounts considered for determination of borrowing base</a></td>
<td class="nump">$ 4.0<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_inod_LineOfCreditFacilityBorrowingBase', window );">Line of credit facility, borrowing base</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 21.4<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_inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio', window );">Threshold minimum fixed charge coverage ratio required to be maintained</a></td>
<td class="nump">1.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.25%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration', window );">Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">us-gaap:SecuredOvernightFinancingRateSofrMember<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</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;">inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LineOfCreditFacilityBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 borrowing base considered for the calculation.</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;">inod_LineOfCreditFacilityBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 minimum required fixed charge coverage ratio under the line of credit facility.</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;">inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 eligible accounts subject to the approval of the Lender considered for determination of borrowing base under the line of credit facility.</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;">inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</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;">inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.</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;">inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 eligible accounts considered for determination of borrowing base under the line of credit facility.</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;">inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</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;">inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.</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;">inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</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_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_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 type of variable interest rate on 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 942<br> -SubTopic 470<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477734/942-470-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_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<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(f))<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_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-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_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<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><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(19)(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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>78
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( "&.J%I&QTU(E0   ,T    0    9&]C4')O<',O87!P+GAM
M;$W/30O", P&X+]2=K>9BAZD#D0]BIZ\SRYUA;8I;83Z[^T$/VYY><@;HBZ)
M(B:VF$7Q+N1M,S+'#4#6(_H^R\JABJ'D>ZXQW8&,L1H/I!\> \.B;=> A3$,
M.,SBM[#IU"Y&9W7/ED)WLCI1)L/B6#0ZL2<?J]P<"A#G>B4^BQ-+.9<K!?^+
M4\L54Y[FRF_\9 6_![H74$L#!!0    ( "&.J%H#?G\Y\@   "L"   1
M9&]C4')O<',O8V]R92YX;6S-DL%*Q# 0AE]%<F\G;54T='-1/"D(+BC>0C*[
M&VS:D(RT^_:F<;>KZ ,LY)*9/]]\ VFU%WH(^!P&CX$LQHO)=7T4VJ_8CL@+
M@*AWZ%0L4Z)/S<T0G*)T#5OP2G^H+4+-^34X)&44*9B!A5^(3+9&"QU0T1 .
M>*,7O/\,7889#=BAPYXB5&4%3,X3_7[J6C@!9AAA</&[@&8AYNJ_V-P!=DA.
MT2ZI<1S+L<FYM$,%;T^/+WG=PO:15*\QO8I6T-[CBATGOS9W]^L')FM>7Q4\
MG9MU78G+6\&K]]GUE]])V W&;NR9&3<_C(^"LH4__T)^ 5!+ P04    "  A
MCJA:F5R<(Q &  "<)P  $P   'AL+W1H96UE+W1H96UE,2YX;6SM6EMSVC@4
M?N^OT'AG]FT+QC:!MK03<VEVV[29A.U.'X416(UL>621A'^_1S80RY8-[9)-
MNIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X8-DOV]:[MR_>X%<R)!%!,!FGK_#
M"J5,7K5::0##.'W)$Q+#W(*+"$MX%,O67.!;&B\CUNJTV]U6A&ELH1A'9&!]
M7BQH0-!445IO7R"TY1\S^!7+5(UEHP$35T$FN8BT\OELQ?S:WCYES^DZ'3*!
M;C ;6"!_SF^GY$Y:B.%4PL3 :F<_5FO'T=)(@(+)?90%NDGVH],5"#(-.SJ=
M6,YV?/;$[9^,RMIT-&T:X./Q>#BVR]*+<!P$X%&[GL*=]&R_I$$)M*-IT&38
M]MJND::JC5-/T_=]W^N;:)P*C5M/TVMWW=..B<:MT'@-OO%/A\.NB<:KT'3K
M:28G_:YKI.D6:$)&X^MZ$A6UY4#3( !8<';6S-(#EEXI^G64&MD=N]U!7/!8
M[CF)$?[&Q036:=(9EC1&<IV0!0X -\313%!\KT&VBN#"DM)<D-;/*;50&@B:
MR('U1X(AQ=RO_?67N\FD,WJ=?3K.:Y1_::L!I^V[F\^3_'/HY)^GD]=-0LYP
MO"P)\?LC6V&')VX[$W(Z'&="?,_V]I&E)3+/[_D*ZTX\9Q]6EK!=S\_DGHQR
M([O=]EA]]D]';B/7J<"S(M>41B1%G\@MNN01.+5)#3(3/PB=AIAJ4!P"I DQ
MEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7H5A)VH3X$$8:XIQSYG/1;/L'I4;1
M]E6\W*.76!4!EQC?-*HU+,76>)7 \:V</!T3$LV4"P9!AI<D)A*I.7Y-2!/^
M*Z7:_IS30/"4+R3Z2I&/:;,CIW0FS>@S&L%&KQMUAVC2/'K^!?F<-0H<D1L=
M F<;LT8AA&F[\!ZO)(Z:K<(1*T(^8ADV&G*U%H&V<:F$8%H2QM%X3M*T$?Q9
MK#63/F#([,V1=<[6D0X1DEXW0CYBSHN0$;\>ACA*FNVB<5@$_9Y>PTG!Z(++
M9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0'HYI9";V$5FJ?JH<T/J@>,@H%\;D>
M/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y?RY]SZ7ON?0]H=*W-R-]9\'3BUO>
M1FY;Q/NN,=K7-"XH8U=RS<C'5*^3*=@YG\#L_6@^GO'M^MDDA*^:62TC%I!+
M@;-!)+C\B\KP*L0)Z&1;)0G+5--E-XH2GD(;;NE3]4J5U^6ON2BX/%ODZ:^A
M=#XLS_D\7^>TS0LS0[=R2^JVE+ZU)CA*]+',<$X>RPP[9SR2';9WH!TU^_9=
M=N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*TU*0;\/YZ<5X&N(YV02Y?9A7;>?8
MT='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-#AWE[7YAGE<90-!1M;*PD+$:W8+C7
M\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B?$R,1>APYY=<7^/1DN/;IF6U;J\I
M=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*POFH]M!5.S_Y9K<B?#!%.%@L22&.4
M%Z9*HO,94[[G*TG$53B_13.V$I<8O./FQW%.4[@2=K8/ C*YNSFI>F4Q9Z;R
MWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=WP6#R_7#)1P_E.^=?]%U#KG[VW>/Z
M;I,[2$R<><41 71% B.5' 86%S+D4.Z2D 83 <V4R43P H)DIAR F/H+O?(,
MN2D5SJT^.7]%+(.&3E[2)1(4BK ,!2$7<N/O[Y-J=XS7^BR!;814,F35%\I#
MB<$],W)#V%0E\Z[:)@N%V^)4S;L:OB9@2\-Z;ITM)__;7M0]M!<]1O.CF> >
MLX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[
MM'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+!WP?D@9CC%OT-%^/%&*MIK&MQMHQ
M#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'50.4_V]0-:/8--!R1!5XQF;8VH^1.
M"CS<_N\-L,+$CN'MB[\!4$L#!!0    ( "&.J%KR*FV?NP4  .P>   8
M>&PO=V]R:W-H965T<R]S:&5E=#$N>&ULM9EK<^(V%(;_BH;.=-J9)5@REV2;
M,$.<9$N[2]B0MK/]IM@">]:VJ"R'Y-_WR :;3>4#]2Q?P+?S6H^.+J^ERXU4
M7[-0"$U>DCC-KCJAUNOWO5[FAR+AV9E<BQ3N+*5*N(93M>IE:R5X4 0E<8\Y
MSK"7\"CMC"^+:W,UOI2YCJ-4S!7)\B3AZO5:Q')SU:&=W86':!5J<Z$WOESS
ME5@(_<=ZKN"L5ZD$42+2+)(I46)YU9G0]Y[+3$#QQ)^1V&1[Q\2@/$GYU9Q,
M@ZN.8THD8N%K(\'A[UEX(HZ-$I3CGZUHIWJG"=P_WJG?%?  \\0SX<GXKRC0
MX57GO$,"L>1YK!_DYE>Q!1H8/5_&6?%+-N6S_7Z'^'FF9;(-AA(D45K^\Y=M
M1>P%,-80P+8![$T ;7J#NPUP"]"R9 76#==\?*GDABCS-*B9@Z)NBFB@B5*3
MQH56<#>".#V^D7X.6=&$IP&Y376D7\DT+9N'J>8NR4*N1';9T_ V$]/SM\K7
MI3)K4';))YGJ, /50 3?QO>@E%51V:ZHUPP5_,35&7'I.\(<-K"4Q\/#)VL3
M[MC"ORF.6]6<6^BY[6K.5F&E8-\N:#KL^VS-?7'5@1Z9"?4L.N,??Z!#YQ<;
M[7<2^X:]7['W,?6:_?%U+6RD>#AUNI]M2&A42Z1!A30X#NESSI46*GXE#V(M
ME;;AX5):Y;9*\="HEGC#"F]X'-Y<J$B:!AL0&#"LR<.5JF[8V _1^):<HXIS
M=&3+5!SFFF(,:\XCKK7D<69-)!K6$O"\ CQ'"[4=:>ZB6)!9GCP)90/#-1R'
M=MW!:-2WP:&A+>$N*KB+8^ >Q"K*-"10DQE/K&T4UYG.9O<WD\=)6;#IS#NS
MD:(:+4FI4T^\SC&LT]27"MIG,6F\(PL-G9)(13R9IUJ]PG]@K8 #ZC>W-F(\
MJ"WRGM>@QR _\A<R#:"31LO(+VU&<TL^($G=KML?#2[ZKI47#6[+RVI>=@SO
M) A /7NW.R ?X3ERG]KSBDL.!L0+>1R+="44>9 \L'*C(FVY:V=$4?/Q'V[/
MG$&;?I0;JR\Z(/<0!2NQC$0<D#E77ZW IW!#M+9#%#<T;X&K7CQ7\CE*?7NF
M<<W9;U;04W@D6ILDBEN;MZ!SF6D>D[^C=?- A2LZH^'0L9*>PB[1VB]1W.84
M;78"7\;-8+@ <Z@5ZQ3NB-;VB.*>YJ/T(5_S4*:8?3@@XHYH]]QQ[&D[A3FB
MM3NBN+5YC#08([DDE/WT]#-9"#]7D$DK)*[DR22!F6FAI6\?<DYAE&CME"AN
M<<#?!E&Z(HO7Y$G&5KY#'NG^QLIU"EO$:EO$<..RRQBY??%##K-<HP4\(#2;
M+&XFUL],/+ M8>V"V%$NR,N5,A\JY==)D4J8-7+K2@NN:"\Q^6)=M?'::!VF
MKST1.\H335/XQB[7\,QW*-]5AY4>5VSB/(4'8K4'8D=Y(/.=!F8>[,!**NLP
M=$!G)M,N]WT!,B 2E()6WE-8(%9;(':4!5HD8$[)=9[![<S>EG&=IL43/*PM
M7FU\V%'&YS81:F7ZZ@=0T"%X@V3-4WM><<'&Q04\KBUH[7L8;EMV>0P%Y!'#
MPV6:\4[A?UCM?QAN77:#[][D#G:]6.(F][D&-YN::=5*_)V<S;8>2K5!H68V
M6Y['+AWU!RX%6_5L8ZP]$#MJB<B#X52!V9NF@7@AOPM[&@^M%#G.A>,.!U8O
MBP>WS65M@1CN8'8SZ%V4&5/[17"%KFL>D.MV*>NZ=M!3>"*W]D3N@<6<W:+F
M/ND=7+0.L ?$FE9M\;"VC+4K<G%7])9QNT[=3(G+?;;F$0]JRUA['Q=W*A,
M#$K(F%O'F ,"C:,J'O=_P7I[^XEFPBNV63/BFR7)<FNQNEIMY4Z*#<Q>_7BY
M#_R)F_DR([%80JAS-H(!3Y5;J^6)ENMB=_)):BV3XC 4/!#*/ #WEU+JW8EY
M0;7!/?X74$L#!!0    ( "&.J%H_T.U?' @  '4A   8    >&PO=V]R:W-H
M965T<R]S:&5E=#(N>&ULK5IK<]NZ$?TK&-W,;3MC603 IQ^:<2RW\=0W3B.G
MG4ZG'R 2LC@A"84$K?C^^KL@95(B0,2>FR\V'XOEV26PYRRHBYTHOU8;SB7Z
MGF=%=3G92+D]F\VJ>,-S5IV*+2_@SEJ4.9-P6C[.JFW)6=(,RK,9<1Q_EK.T
MF,POFFN?ROF%J&66%OQ3B:HZSUGY_)YG8G<YP9.7"Y_3QXU4%V;SBRU[Y$LN
MOVP_E7 VZ[PD:<Z+*A4%*OGZ<G*%SQ9N,Z"Q^'?*=]7!,5*AK(3XJDYND\N)
MHQ#QC,=2N6#P[XE?\RQ3G@#'M[W32?=,-?#P^,7[WYO@(9@5J_BUR/Z3)G)S
M.0DG*.%K5F?RL]A]X/N /.4O%EG5_$6[O:TS07%=29'O!P."/"W:_^S[/A$'
M S =&4#V \AP@#LR@.X'T-<.</<#W"8S;2A-'A9,LOE%*7:H5-;@31TTR6Q&
M0_AIH=[[4I9P-X5Q<GY]_W%Q\W%YLT!PM+R_NUU</<#)^ZN[JX_7-VCYX>;F
M88FFZ,MR@?[Z[F_H'4H+]+ 1=<6*I+J82<"@/,WB_?.NV^>1D>?]QLI31/$)
M(@[Q#,,7]N$+'G?#W>/A,XB\"Y]TX9/&'QT+ORY+7DC$JHK+ZLP43^O -3M0
MR_*LVK*87TY@W56\?.*3^:^_8-\Y-T7WDYP=Q4J[6*G-^_R:51L$;PW%ZH!_
MJ],GED'PQK?8NO(;5ZIV/,T]W_/\B]G383BZE>N'4=!9'>%T.YRN%>=5'(L:
M8$%9B3E@7&7\!!50 L4:L0P*%2MBCJ#DH;CD22I1)N#M&:-H'^0=X".1%P2#
M* Q6H8.I.0JOB\*S1O&IY%N6)HA_AQ(-\)K,"[GA /MHTIEP>QHBG^!A\@U&
M3N284?L=:M^*^D%(EKT"H*\].R+4C08(=:L0.\X(Q*"#&/P@L4!ZI7QN$JIF
M\19H2#8SQ(0TT#"X?C $:C#"#C;C##N<H15G0Z%3L9[6%9\VF1S%&.J/=^CP
M=1N," W-&*,.8V3%>-_,Q_'7'&G/Q"08 C,9^2,U #L]+SE6: N^YC +$^";
M6.0<2?:=5Z,9W#L[!!&0D R0FJS<B(Q /:!0;(5Z6TA6/*90IRP L9XEZ@7.
M$*')C'HCM0CW-(>MS#+_AQ#)+LTR(S2BUS\'AT-DNA6.HI'YAWM.PG92:@O.
M^ S<#S^>71[!6N(,=IBZ!R7I&&!/1MA]E4+(4K9*LU2FW"P3L)74WJH3?I:W
MXZ![[L)V\NHH>,N>%?\: ];YQ_4<[;V8K#QWY*WT-(7M/ 4 RYKW[&H$J-./
M%Y!AZ3=8N6$T4OMQ3U+8SE(O "N6L3)5A6$';52K DJ>,0GW5KS@ZW1DWNN4
MA*GO:*O29!8><,<Q_)Z[L)V\NNI;\B=>U",)UBDI=(@&T62%1T0 [ID+VZGK
MMJ6%7E4U!&&$J1.4&_IX"%.W\OS(,\,D/8T1.XW=B>)Q*GF9(['*TD>FFMT*
M^JD7B;45I;ID;#QTML*>XPUPFZQ\=X0P2,]IQ,YI]Z"Q &SQB#(.;757_IY?
MB5WGL<AQA]!UHS 8$0[DH*.S4]VQA#THVT:<.JO1"(AYB-1DYCDCRXST[$?L
M[/<VD4-TCM.1&FQ&! [I.9#8.S+C).YZLM=,![W%"IQH*"0-5G[@CG %Z<F,
MV,EL="J_*0*=QZCG#@6FR2H(1D02Z=F.O*8K^]%4-A!9%&J,83 #UO9'ZC'I
M"8_8">]:Y'DJ52O6DEPL"I5S7L1C>*W^S!('&?=4_KRCXYA[EB2A51LN'^ZO
M__GA_FYQ\WGY%W3SKR^W#_\U[R%9V?;-FT@_R=MQU#WS$COS+GF9PG0$W_OB
M54D1?SU'[@GT R?0WZ-JPTJE=6JY$67Z.T]@I8F"H[2JE"9J.+N6%71-"4P1
M8\*L$-XR.?Z\H^/-MI[YJ9WYU8(019N<$_3NU,&@IDOTQ+*:GZ/ 4YDR9^L<
M4<@EB0[O'J2.XI/ ;88?9A$QB7YC9;SI=E=;8_?$#=UQ3W0/8N!IP6.>KT!5
MF?=:]WN$NO30]X",1B.RBO;RA-KER562I*I4JWG(TF2:%BAFVQ3*I!&H+C1
MVY$A=YK,J!..@>T5";4KDL]<,K@$W0HK"TBP></5T(7[@3_43 8S'$9CJHD>
M[ W;E0CT*W5>MWW)?I=2Y+ D-NH3SQ-O]EB-L'6],25..&0=HYD;C+ .[94)
MM2N3I5I=&Y$EO*R@ G^KE4)=\;4H.7HH@>[K\ADMVR78L*@Q!EUWA!CDW3 &
M@SR)(CJ6^EZ?4+L^N>-5=8;D"]I]P: G^'C=FM>WME!/E&$L*J."I+H^F?JN
MKRV$'YD=1]KK&&K7,<=OB[=OZ[8H1,(D@X/XM(FIJE=5FJ1-WVR,0I<P@>>&
M6A2ZF4_=8$0-TU[I4+O2^2B*J5(WI<@R52[3 J0QKXQ]_/L?^/H?_K\Q0KVM
MGX9T&)_=Z#BZ7M-0>^??:DW3FS("U9M[>!7.4!<;S'Q*PY'-.=I+$6J7(IHP
M;N?/:\%'VN<KX]ZBR<ZRM^@JB7!\I><UU\YK,!\0S"_C]$)0!E2CF-4)%.E=
M*C=I<13KK[^$! ?G+PL+[D(A5T(\47MDC22O1)8F[>83RYKO:.VO"UC5V+*\
MW?9KGI3G8*BDWJE)#\T.OCGGO'QLOMU7J-DW;+])=E?WOP]PG;-KR,W,< ?#
M'6RZ@\_>M[\ Z!_1_B !2N%C6E30TJWA<<YI '.K;+_QMR=2;)NOWBLAI<B;
MPPUGD"9E /?70LB7$_6 [I<6\S\ 4$L#!!0    ( "&.J%H.ZC C^ (  /X)
M   8    >&PO=V]R:W-H965T<R]S:&5E=#,N>&ULK99=;]HP%(;_BI5-4RMU
MY!,"'41J@:F5NA:5;KMVDP.QZL29[4"[7S\[23-2 K3=N""V<][7SSEQ8@_7
MC#^(&$"BQX2F8F3$4F:GIBG"&!(L.BR#5-U9,)Y@J;I\:8J, XX*44)-Q[)Z
M9H)):@3#8FS&@R'+)24IS#@2>9)@_G0.E*U'AFT\#]R292SU@!D,,[R$.<CO
MV8RKGEF[1"2!5!"6(@Z+D7%FGXYM2PN*B!\$UF*CC70J]XP]Z,YE-#(L3004
M0JDML+JL8 R4:B?%\:LR->HYM7"S_>S^M4A>)7./!8P9_4DB&8^,OH$B6."<
MRENVOH JH:[V"QD5Q3]:E[$]WT!A+B1+*K$B2$A:7O%C58@-@>WM$#B5P'FM
MP*T$;I%H25:D-<$2!T/.UHCK:.6F&T5M"K7*AJ3Z,<XE5W>)TLE@?',]F5[/
MIQ.D6O.;J\O)V9WJG)]=G5V/IVA^,9W>S='1#'-(90R2A)@>H\_H(S*1B-6H
M&)I2<6@W,ZSF/"_G=';,^0WS#G+M$^183K=%/MXOGT!8R[VFW%39UR5PZA(X
MA9_[+R5HR[*T]=IM]?MW*C(<PLA0+Y@ O@(C^/3![EE?VG+^3V:-"KAU!=Q]
M[L$<.,$4*><%< X14LLN?#BI'C#"N8P9)[\A:JM":=TMK/5'8Q5X@T'?LJRA
MN=I,\'!<@]VKV;UWL1,A\G9@;POD)>J^B 9DMX;LO@M2?5>%Q&E$TF4;:?<@
MZ;Z(!FFO)NWM)1VS)%%?UXHOPQRM,,T!'9$418Q2S 7*@)=+X[@-NO3W-Y$Z
MEOV"^T!0 ]VOT?TWH+]J[?I;Y?.[5O%[P?N*P 9SOV;NOYUY]]+M;V&XWL 9
M;/.V!7I];R?OH.8=O)WWP"H>;+/8OM?=AFX+=/<4V;;^;G+67NP[=<(1.7]J
M@K?N7%8+1+-PU1YU.+"$-3<V9WTR4KO?DJ0"45@HI=7QE04O#QME1[*LV*_O
MF52[?]&,U0$-N Y0]Q>,R>>./@+41[[@#U!+ P04    "  ACJA:]!&) ,H%
M  #V&   &    'AL+W=O<FMS:&5E=',O<VAE970T+GAM;+59;7/:.!#^*QJN
M<]/.E&#)-MBYA)F$T"DSEX0):?M9@ !=;8N3!$G_?=<OV&#+:G/#?0F6O;M^
M]L7[K)2K%R&_JPUC&KW&4:*N.QNMMY>]GEIL6$S5A=BR!)ZLA(RIAJ5<]]16
M,KK,E.*H1QRGWXLI3SK#J^S>5 ZOQ$Y'/&%3B=0NCJG\<<LB\7+=P9W#C2>^
MWNCT1F]XM:5K-F/ZRW8J8=4KK2QYS!+%18(D6UUW;O#EB(2I0B;QE;,7=72-
M4E?F0GQ/%Y/E=<=)$;&(+71J@L+/GHU8%*66 ,>_A=%.^<Y4\?CZ8/U3YCPX
M,Z>*C43TC2_UYKH3=-"2K>@NTD_BY3,K'/)3>PL1J>PO>BEDG0Y:[)06<:$,
M"&*>Y+_TM0C$D0+8,2N00H'4%;P6!;=0<#-'<V296W=4T^&5%"](IM)@+;W(
M8I-I@S<\2=,XTQ*><M#3P]'CP]WX83:^0W U>_Q[<G?S#(O9,_S<CQ^>9^CQ
M$WJ<CI]NGB<@@&X>4LG[Z=/X,ZA-OH[1Y '68]1%7V9WZ/V[#TAMJ&0*\00]
M;\1.T62I/J)W)^NKG@;L*8+>HL!YF^,D+3A=="\2O5%HG"S9\E2_!SZ7CI.#
MX[?$:O">R@ODXH^(.,0WX!G]OKIG@>.6>7 S>^[_G =39/,W>^8WIWWB4FWI
M@EUWH!$H)O>L,_SS#]QW_C*%Y4S&3H+DE4'R;-:'3VS/DATSED^NV<\TT]ZU
M'_J!ZT%J]L?HFU*D[SN5U DLOX3E6W/WN&62:IZLT4(HK1!4.&*OT&@54Y<F
MK/XY$W(F8R>>]TO/^]:$W'$)[1B)TP"87,[M^$>!=WTG)+7T-*5P/^B'YO0,
M2I #*\@9<$2*+4T+74(/Y4JG</>LS)()\:")Q0L#IX:X*16XCF\&')2  RO@
M2:(9Y$I#RUR(F'U$"=,FA$'CW5U,!C6 !J&@I=[#$E]HQ?<L-(U,@,+&N[PP
M]/P:HJ84@5)PS)BP4Q&9\XNHI<%"<P:S#4-;*?8\FS5@6002:?IJSG5A^C2-
M85@#;I#"'FX))CYB8&P%/GT;5-P T<?U[\@@Y)$VH*0"2JQ 1R)1(N)+JMDR
MK<D"JQ$E:0 8#()Z;1JDPM9"J)@46SGH4 A4:\GG.TWG$813H$0DW07,$%+D
M[8 77YDYRF?ES,+:2>&T>%E1(;9SX0/$O\7329((2!)-GU]D;6^VFRN^Y%3R
MEJ)J\J(I74VI,&AISK@B3VQGS\()H)!\<GRC.T:"Q6=EV'-9.PU0Q;'83K*W
M5/$%>@_S\Q)*ETI5Q>J#T?G<W. H3<X%J7=AHY3CMF2SXEIL)]L['NW2]O &
MN ,3W$9',TFUPJV8%@?6XON6;?, +]W#"+-FA\T+;'B5AE*#1F$N,"N#O[G
MSF3M- @5G6,[GU<%EGMO3E.3MEWLN?4!VR!&@H'?DBA2L3NQL_MQ75E0DB9%
MNU[HXQI*DQ@A;DLO(Q65$VS?Q8D8,K1)3SE@NLP[F[%^B'4D>&O]G,O:J=?5
M7$#.-A<4EGY!- :IUKF 5',!L<\%T^+P*>)TSB.N?\!NX)^=TC%+=#9C([%J
MG[M(D\.[C;*RRIS"KHB>V(G^$XRS?)V@Q4Y*EBQ^(-B\)"JB^2E8Z8$1L]><
M.YSZ5&L0ZF*W+=H5K1,K*PY'&YI /X7/=46Y1'L:[5@:X"63?)_MOM1O!-UO
M=I-!O>48A+INR[!+*M8E=M9]U!N@K<7)!UW,YN\CH5K:CV&;&]2IS"#4Q?V6
M/2.IF)?8F3?;E1D!&Y$:-JZXWZ@-@Q1I0UJ1+K'O;T>FH!ZF/F@AEF'=Z,I9
MN9@T-\QMGW!%L,1.L%:'__O47KRU_XL<&J0:>\'>T0ERS.0Z.UA74$V[1.=G
MJN7=_/#^%E^.LC/NVOT;?'F3'67W*C/Y?P3NJ5SS1*&(K<"D<S& $,O\D#U?
M:+'-SJGG0FL19Y<;1J%?I +P?"6$/BS2%Y3_ZAC^!%!+ P04    "  ACJA:
M^E@_ G0&  #J&P  &    'AL+W=O<FMS:&5E=',O<VAE970U+GAM;*U9;7/:
M.!#^*QJN<]/.-,62L#&YA!E"DFEGFI<IZ?6SL 7H:EM4$B2Y7W^2[6"P9#6Y
MX4NPG=7ZV1?MLVN=/7+Q4ZXH5> ISPIYWELIM3[M]V6RHCF1G_B:%OH_"RYR
MHO2M6/;E6E"2EHORK(^"(.KGA!6]\5GY[%Z,S_A&9:R@]P+(39X3\7Q!,_YX
MWH.]EP??V'*ES(/^^&Q-EG1&U??UO=!W_9V6E.6TD(P70-#%>6\"3Z<8FP6E
MQ-^,/LJ]:V!,F7/^T]Q\2<][@4%$,YHHHX+HGRV=TBPSFC2.7[72WNZ=9N'^
M]8OVZ])X;<R<2#KEV0^6JM5Y+^Z!E"[()E/?^.-G6AL4&GT)SV3Y%SS6LD$/
M)!NI>%XOU@AR5E2_Y*EVQ-X"K<>] -4+4'O!H&,!KA>4GNM7R$JS+HDBXS/!
M'X$PTEJ;N2A]4Z[6UK#"A'&FA/XOT^O4>'IW>WEU.[NZ!/IJ=O?UR^7D0=_,
M'O3/S=7MPPS<78/I9/897'^]^S$#)^#[[!*\?_<!O .L  \KOI&D2.597VDT
M1F<_J=]\4;T9=;P9@QM>J)4$5T5*T\/U?6W%SA3T8LH%\BJ\(>(3P/ C0 $*
M'7BFKU\^\,#!.\_B4A_N\BR1*[#0VT2"A> YT#M/$,6*996Z3#$J3UUNJ]0.
MW&K-MCZ5:Y+0\Y[>MY**+>V-__P#1L%?+IN/I.S  X.=!P8^[>,I+R3/6$H4
M34&A2Q(K$IY3E\V5HJA49"K/=CP<QL.S_G;?%EMH- IV,@<0PQW$T!ND2?J/
MWF.Z+"D)%-=U*>%%PC(*$C=V(V3N$A/<M>!;IG,7S)]?']WPF-$]DK(#UT4[
MUT7>Z%Y2K31AI*K&10I(SH5B_Y8/7)97ZL*]\,$PPJT8.X10%+F#/-PA'7J1
MSA1/?IZ88I_JN.:: 64GR*'U?A3'L 72%H(!'KA!QCN0\6_<N:!":(0OB4:>
MJ+.JQO;+!Z,60%OF).S -]KA&WGQW=?4G7"I7+!&UBOQ +5@.62"D1L6#!H"
M"_QU=D6*)96&C?8VH914;VF3EADC<Y9U;\A:_9%VY+&T'3ICC\VA-TJ3).$;
M4\STUJ1L2^:9L]S66@X2!.*PO1D=8A /.P*&&HS(GTF"K@E+ 7TR.Y%64>)J
M185N>/06*%0=/B=R9",?M(G"(11WU!#8T#GT<N7XKD3H088=/HW:R&RA >J"
MUO L]!/M+NIK\FQ"7I7C)!$;VKC9B7E@P8FB=K5S")W@H"L-&N:%7G9J"IZ@
M6UIL.@"&=@;&;7RV#(:#L -?0V_0SV^3VG^29$3HXO$1/))EG:V"9F5C,*<%
M7;".?+"I[ 19E=HE->CJ:F##>-!/>5\J$FEV5B>=0)O,3N+(@NG@1=3EXH;R
MH)_S;E_;23F!.X@PB".K%MABT3#JRMZ&#>'H3=T]*[94OJ;_@UZ:?3/='$G;
MX<#5<"_RTIGVPIHIDE4U)F5J(]RQJM4<[@4<!JU8N<0@QATM FI8$?E9<9=G
M&UDV6,YH.7$[>-*%VTFGG;@;ID3H34FV8 71X\GODPQY&?BM278L;8=>:(@7
M^8GW7O"$TK3V 7VB(F&2 KX TC3VNF"89MX=/YMN1];(X7_]_S6O(6_D)^][
M\FSF3V-/QHOEB:(B!WR>L27IMLM!R7H$:1OFD$(CV)&5#7$C/W$[J_;[>FM]
M<":ITP:;MN/(VEFVD,>$AMN1G]NO%@N:E"ZG3TDY/P#-.7KJKV<),^<8"PU_
MEA?TUT9WTYGY3N"TQ69Q%+>G'X<01AV6-$2/_$1_6WV:$%1/MZ:RO0VVS>JC
M*&QSOT,JA%%7<6O('_G)?]J%]*-NJY:L*$P*Z0CI=H#QU G?IO9!%(_:'8!#
M#.(XZ.BZ4=,"(/]$[#& FK[+"]T>A<,H#-OC@D,,:@,[&B_<\#;VS\RSS7J=
M45-V-'FG3"89EX:[#>CDA71T.E7'!+H*N3]4'G5R/I:V0Y<T/0+V]PAE-,NY
M5!O]VX\PV#$9P_:&=PF%7;%KF@+L'Y\/@3;=<F9*@!LLLCZ<8BO5L#TSXZBC
MT.*];^!^[FY[59,;=7\_\BMZ<S)AR^0H;AG3WSLUR:E8EH=)$I2C='7JL'M:
M'5A=P--I>:[3>CZ!IY/R^*;?J*E.P6Z(T)5,ZM@LM,K@TU"[5U0'2]6-XNOR
M;&;.E>)Y>;FB)*7"".C_+SA7+S?F!;OCO?%_4$L#!!0    ( "&.J%KA@Z.@
M_ <  'Q    8    >&PO=V]R:W-H965T<R]S:&5E=#8N>&ULO9QM<YNX&H;_
MBL:[L]N=V=0@WGN2S+3F+7.Z2;9.]\SYJ&#%9HO!"W+2_OLC,#4&";ETG[-?
M&K ?78^0;I!T(_?RI2@_51M*&?J\S?+J:K9A;/=F/J^2#=V2ZG6QHSG_YJDH
MMX3QTW(]KW8E):NFT#:;8TVSYUN2YK/KR^:S^_+ZLMBS+,WI?8FJ_79+RB_O
M:%:\7,WTV=<//J3K#:L_F%]?[LB:+BG[N+LO^=G\2%FE6YI7:9&CDCY=S=[J
M;V+LU@6:B#]2^E*='*/Z4AZ+XE-]<K.ZFFEUC6A&$U8C"/_S3!<TRVH2K\=?
M+71VS%D7/#W^2@^;B^<7\T@JNBBR_Z0KMKF:N3.THD]DG[$/Q4M,VPNR:EY2
M9%7S+WII8[492O85*[9M85Z#;9H?_I+/;4.<%-"-D0*X+8 '!; S4L!H"QC#
M#.Y( ;,M8 X*&&,9K+: -<Q@C12PVP+V\!K&"CAM >=;6\EM"S1RF1^ZH^E+
MGS!R?5D6+ZBLHSFM/F@$T93F79CFM7:7K.3?IKP<NU[<W?K![3+P$3]:WKV_
M\=\^\)/E __S6W#[L$1W(3^[6_P[OGOO!Q^6/Z/@]X\W#_]%%^CCTD>O?OP%
M_8C2'#ULBGU%\E5U.6>\7C5]GK1U>'>H QZK0['=<ADO69%\DI1>J$N_7:W2
M^C8@&;HGZ>J"UV5!=BDCF83EJUD?*..W.UVA@)1YFJ]E%Q.<J4Z2[+?[C#!.
MN6,;6B)^>?RQLJGO]V>*WA>5C!JJJ0_\N53MRR^CC12IR]\6^<6BR%E99/RK
M-;K)&2UIQ22D^$Q-"J%EYUQS1^'AH_!PPS%'..](1O*$(L(0;R7T2-=I7C=Y
M_8%/D]?(T']%6,.&3$\'M-V@ZZ?S\[6!M<OY\ZEJQ!C3T"W<C_+%J O/=HU^
M5"")TFVL]Z-"291MVE8_*I)$.9K;#XK%(&QZ7H?J-;EQ;'+C^YK\%;]GJ@WA
M@OCEFYI?F:8>;=]4.Y+0JQG7?47+9SJ[_ND'W=;^);N[(6$^)"R A(4'F'7:
M[8;NFIHVT&T$F34&@O7D9A[E9OXS<C.%IC-TSW"$IELHZS-52I"P !(60L(B
M2%@,!.O)S3K*S5+*[99/]-,\*;84O<KX(%MKBY7IXYZ1QXPB5O!!+R]6?)+$
M#[CB^%P%+?>/5;I*29E2Z;Q%F7'J@PX2YEO"/>&YWF#4@DP80L(B2%BL;HJ>
MENRCEFREEFX..AH**.>SJ.1D%I6VLRBI=I09IFH'$N9#P@)(6 @)BVQ!%X,)
M6ZR*Z.G&.>K&4>JFF9U?U&OI%>(*VO$Y/ZG7)C)]*$E3]>&(5Z(9YF"N"YDQ
M@(2%D+ ($A:?:=B>2MRC2ERE2NY;ZR=+R6.:I>P+(JL_^5)_2W/V*\KY.%8\
M(48^R\<D)7NJ;B!A/B0L<,7Y\G"]!9DO@H3%RLKW-.,=->,I-1,6)4W7.4KV
M94GSY MB)<FKC!P,P*-\9()1@J<*!A+F0\("3]+FQF"%$$)FC"!A\9GJ]T2C
M:YV[IREEL]B0?$UK?^Z)I"5Z)MF>UD^7%2W39U+;QM7Y)XXZQU0%@=)\4%K0
MTOJK],$P&H*FC$!I\9D+Z*OHQ"/6IZSD*5\Y\</?2'E<MYM2W>C?8-.U0:<U
M-DW=M0=S%TG8A6M[@[X)9&&Z,Z2%DIK)K#H9S=&<P2Q2$H5MUQIK]<X@U2<Y
MI'6K#YR3\SV@S##YSH6D^:"T )06MK1O<.M \\90M+[B.G]8GV00?Y?B1)]S
MQ*Q3UV6RFD"=7U!:"$J+0&DQ%*VON,XBUK_3(Q[XPG*MF>+X8EI#F8GNL65H
MKC4<7\0PW?4<9SB^B&$7V'2&TTQ)S:3CBX0V?/<42UBV88PY7'IGE^IJO_1[
M['EY-X"ZI* T'Y06@-)"730NQP894+]4DG>8MB^ISC75U;8IG*1$9\XP34G3
M+-0UFBP74&L4E!:"TB)06@Q%Z^NN<UUUM>WZ_WCUHTXY^:D&2?-UT95T'%<8
MJT M6E!:!$J+6YH]UAY]674VK:[V::>X^6K49+F(!B)V77TX9P$U7$%I(2@M
M J7%YUJW+Y?.H=75%FTC%U3L&DN6?J9EDE8CSQ9/T"L>CFNB'^C9@@! #510
M6@A*BT!IL:3]/=N0]S_NO%:L]EKE_7\Z]Y%N91,=.VSKXD1'G7SJ" )*"T!I
M(2@M J7%\MXR7#PBGLYBQ6J+]0]:L7JF7#RA>D=!F2;U!M*JD=0^3^5;#+!H
M8PZ?(UAB80I[()55FRP&2%H(2HM :3$4K2^9DPVT:G_XK&3./GI$EU.V_%RH
MZS'YT0/J^X+20E!:!$J+H6A]M77>,%9[PW]OTX(:/G5Z#$KS06D!EFST%3:*
M@QK"H+2XI=GR^O?%T]F\6&WS_HW="VKR9.5 TGQ06H E%K3F#:4#F3("I<5G
M+J"OG<ZGQFJ?&F0+@SK'9!6!>M2@M "+[BYVAEL80%-&H+3XS 7T5=19TWB2
M-2W9PF!)=6-+7C%YP_F1&&39'AZ^8I*$8=NQAUL8)&$76'/=81=*PF2_-I*$
M":^8)$&.96ICBYK.E\5J7W;:^V1Y!X#:L* T'Y06@-)"+%K$(R^70//&DKS*
METNX<V.QVHV%$)-H_/&[&7N2)0_HQEA06@!*"T%I$2@MAJ(=%#<_^95T_;M\
M+I=UFE<HHT\<K[UVN"[*PT_=#R>LV#4_G'XL&"NVS>&&$C[OJ /X]T]%P;Z>
MU+_%/OZ' ]?_ U!+ P04    "  ACJA:+/7XN@$0  #E+@  &    'AL+W=O
M<FMS:&5E=',O<VAE970W+GAM;-5:;6\;-Q+^*X0;% D@R9+M."]. CA.VLL5
M#7QQ<L5]I'8IB<WN4B&YMM5??\\,R5VN)+MI+BAP7Q*OEN0,9X;//#/+%S?&
M?G8KI;RXK:O&O3Q8>;]^?GCHBI6JI9N8M6KP9F%L+3T>[?+0K:V2)4^JJ\.C
MZ?3TL):Z.7CU@G^[M*]>F-97NE&75KBVKJ7=O%:5N7EY,#M(/WS0RY6G'PY?
MO5C+I;I2_M/ZTN+IL%NEU+5JG#:-L&KQ\N!\]OSU"8WG ?_6ZL9E?PO:R=R8
MS_3PKGQY,"6%5*4*3RM(_'>M+E15T4)0XTM<\Z 321/SO]/J/_'>L9>Y=.K"
M5+_ITJ]>'CP]$*5:R+;R'\S-/U3<SV-:KS"5XW_%31C[^,F!*%KG31TG0X-:
M-^%_>1OMD$UX.KUCPE&<<,1Z!T&LY1OIY:L7UMP(2Z.Q&OW!6^794$XWY)0K
M;_%68YY_=16<(<Q"7.EEHQ>ZD(T7YT5AVL;K9BDN3:4+K9R032G>.J]A"N5>
M''I(IS4.BRCI=9!T=(>D8_&K:?S*B;=-J<KA_$-HW:E^E%1_?73O@K]*.Q''
MLY$XFAX]OF>]X\X4Q[S>\=]@BB#I9+\D.FC/W5H6ZN4!3I)3]EH=O/KQA]GI
M].R>?9QT^SBY;_7ONH_[)<TFXEN%B=?2:4?3+LD"C9=\2"^4]4 2H9N -WQP
M,:\Q7HE2NZ(RKL4$_(#75;7!R*)J$5#X0QB+T^-78J$;V11:5L)A704,\4[
MTFMIPT )]6R),2I,6*I&65X.;]3:8Y3L=["V$*+7%<1BKE\I\:G1-.;*\U:P
MB?-:6>Q<//SQAZ='1].S3Y.KB?CY_/R2GV=GC\1*7BLQ5ZH1A<$!:!SF0U]3
M:T]++:RI:6FGLO?XR\%ZI>01>S?56M>2P;UAQ6Q;14M;M6PK-B K2"^O5-%:
M[3M?W!8KV2R5N#!UK1W#[$,:%_=P]?:BTQ[C1]%JL$BU&7V#KFYEVJJ$#01E
M#S(EYOS>-@&>V0\D_<\72@'A:+Q5V'H>!+0&=K26S8;4GSTY<^*\:5JL\4&M
MC?4"T@C1Q6PZ_D4@SGC*1DDK%$&3>*,*5<^53>!R,H'#85<8D@3>:&R<Y)=L
MA4&DI%AO75 F!!V]^NOV0K#R^D[6$$*;-5BA5*ZP>M[O-5K"?*7QOFZ_EWW(
M(W@NNE7)4Y^@!7[LCS)>%UC;AM<T'L=,>_%!N\]BG+# P?R%TM=R7BGQ&P4!
M11.<*7#PS T?1E*N")-QT)T*ZJHHJ4P_ @"0=,FJZ=B(A=05@(&DF];&S*DL
M&Z:6GX,EK?K2:H* M=STH;2VYEH[/B@D;:ZKBI:6Y>]8) RSBHX2>=&(+X@D
M[0$\SK5DG@8NJ< L:%V"<ETH-TI_"9 G6=&1&S%\!4,$J?0Z$S(1'RF8[K$%
M\)((2$DR)72Z)M*##;NU*AAX&0\17QY//80%>;"SN6:0$W+)^X-B&\)@N5Y7
M-!Q[ZV:LC:GP4R?.Z5I7"!A++@5L6+ I(!X<4T#Q?[;ELH_96I815N$GJ.;[
MX*R(C$E8F P(S3MYM@\-FHG05K)8L1J]$BO(,P2SE5"W:XA7L-,(OK86PI-3
M85FB>NP%VGAZC7!K@+:%\'@L,U-2O-!ZA4]P"3NQPN%7BCN]4 E%>U4AH$\<
M#7(C-E7*C2-<)[B8(/0]X<[0C07#8*D7"XB) 4PG.X4YYGU0UZII%9T8@Z3*
MY^JG>'#?Z*7V6)3HGK@R51N4=HI=,**XX+F:K4K3_U <;LC3&HIV^Z;%OE#R
M(&?T,0PQ\!N,4A".>?CJCQYLR.J&GVY6&@Y* <^.QTO*VA1Y%.#AB6.98$\'
M/6F@@Z%="%%'XP*,+JUBC.JWS\;I?G=\-%/XPU9J##EC,ID%R+%'M=O:MW1W
MZ+@E9:%O53E>J$P/N#=L4A/=\#@#/;]!1*?3%.V-T4/) SL#8RCUP +P7&Z9
M6L'Y9786<#1'=VL](O?@*")63!-?XJ!HZ( =I1"YVC2F5+??+R;^5N^?BVBJ
MCK<,MY/OIH1&UXD^(?=2M1B2[0X'6$2F0>G0+/P-FR[!?\F(".[GNE2Z/1]G
ME*"@F[M&2J M;@62:W/## U>4P$$<]^L%&<]0)9E.A9%=D8(;)$?RYV79Q$;
M,;?7SE+U&>R;,@!!U%GP6T1&')3ZKC&Y;,*H&MDS<(=V#OH /YYM&2BE..VB
M#7M= ;!$@>Q90." ^^31,'9.8D.^.U^&9)!\&QP*PW%2"';MXS1:>$X4:!V*
M VN)P^[)YA0]JD&Z6)'E <"R3WG)/Q/QSL,1SG1RDTS8@%*L4U#=TE(@*PA+
M8 W;IFV  ZR 2PB\$P>]EO?'P3<8]?\P=.Z)@X'=_LQE6Z9D$V:&V\'+KP6C
M+35"IH_NSU+05G;Q/'!ID=F%K F_(S\@3(IHO#2F=/NJS@QE.G1B'*+8BT4G
MK%A"IR$FP3;*)YQ;&**,](1PXU3X?# 69,B%\B&=)%"O>:674"_BNI-$]$'@
M&R=9"_@+[+8.%5:B+\3]SF!GWZU%CD4Z%*')!G<SD[0NN)MR<7-MJNL^@:A;
ME* YM/>$.91PO/T%=A%UBN][Y\1*C[R@ZSFJWQ!X3/O]V"S&:U-\5IZI&^HL
MRN%]86F)D)+_(67_\$$E6:)6P+8,PB>P_P(I(#OGL)%!G%-6Z(1T8=B=7NI+
M-%WN),-$&D,1P4<$50GSUIA=PQ$R#0#"*G!$&[DYV%@3IR;.T=LY:MVBH+-]
MQ=5SU8"V*2:H3(1R*(^Z1D47/1RWI:(#KSD<<<2H["4=;"B@0[P/H+(/5S &
MUX(Q*3\8@<TN.;WG>JAK6;5<0R8AB#/>#ZGH+=C_5J"(N8)^>6%,#Q2YO:78
MV;$ #)9SA+!#$;W"Q@;54I!F*65"M:VG>@+'"+6C"U2<XR"Q0\;$+&JXY-=E
M'U+D(VX<=*4(*40+, 6IB>P0F'1E!YF>&>%6JNM@EBK#I)=? 82Z;MB*G5&V
M?2T^.PKI)JM*<@^$*M+%]D32?6>S@7.'"$4)%9BV-UV<!(<T,>>$JC;X =;<
M4!21IU,]+RU4#1/Y]*3-4#[^%DLFYDH R]L*AW5OJV4N*T9@;IF''%#<Z>.(
MZ;'R?S";3(E\5ZDKB1]F_0_<*OE56L1$ZDKSJ)WVRB@5QD@3U8;]X=0>X=QU
M8.RG$G6;*7%1?W\ \2'9&T)<*R@4-.*"+5ELQ$<Z1*%CR!&2\>4BC4DI;9L;
MDQ!P:$HM\-O/BG(M=4AX\-O6FLD=2VKE[ERTVW!:7.\T8'^!9TJJ$6&+"U"%
M4G9=LTLXCCJTRH9N#AY8"(W20*,2:5/:/:[8WS8+UG1JJ USC:ROC"':9DMF
MVX3%NW7S[K:.B;>2>1LX-&4*;HCL<T1$.4;OL)/0N@T S>$?ASYB^S) ,2N^
MHT/Z%QJ3?$B!K:,LR3*]DVXE%N BK@?EL"L@U U_'D.)+:EL7A(5B-UGR_@/
M*UY+S:X">G7<1KLB%,S G2 EGGCZL]*AE90\,90XF#LF\CP427D\M1%]%OMY
MWV^ [0RM!#!(YX%R &_:N@T2(R[AM54K*D.O>2KLQ,!+"1.F1U(J/J],1;DW
MVEY04])O^A/9J9D1,K&4NG%I)>5VLLY^KM*EM*\ QF&PQX68)C-UW[.OAZ3+
MHPD #K63Y'A_USAOV[#*&(=M3:TJ!J<WX (55L693!7T>)")L"CH'#(*CV.(
MRV&0$TM7?&N?!@;\T+Q7''8Z)2B2)N)?U*9=;')3\)$H\_B*IXPMG N&+9:!
M6A3]%A)0A^7ZHI3)E.. Z%2HY)QH!8..MN68*ZX]>]L%\;9K8,"2D@[-F#Z[
M=8VBKC?9-<6QW45;#7J4F=9):-:Z2,RE;UXRX7$)?9 C&&!06=%7 B<FXAP5
M9XAP*HHXQY'J]-4?PV)AY>*)B;# )R99?3((AEV=0KXWR$_$U!1^>' R.1YF
MV^/)Z??)MB(>6T9HA%^EF(7<K^ -1#Z8/9N<;%& 9Y.GWT&K *GBH[Q5='+>
M-9&UIF"PBC3K6%W9%0;RMJ.32+HR\-:.X(<*.:.]-9'G2G]6Q,  ,]S99 Y)
M307$K",UMAIP>Z3Q=X>MQ)PR,/:;*, -#!._^)'ZE,X@ S*'+#3LE5N0',-T
MG+M,/1"3R$*(TLALPV>L/6;G,\YKLU4V6E4T<FV(9\'YBDHT"E[$\+SJ;5TI
MZ;K#%&H4=N_@X\R03NPW46)@D1R%\BQ^7SV_NA ?S1IT^LG)='P\'1\=\:O9
M["S_?DZB\NB(WV1Q)EWVD:*+C$7KZ3L8U&!KIQ24JB@"_SVFW61>RW]%=4\!
M,F>: ^;?U;IPJ#,-BZ L"/H<O@GG)2;4;U7\ @><D%SP[K.FY.SF[XNU7?*U
M%4&IY(ULAS;M^3!9M93\U1K6+^+U EH[!$%*<%U3)^81P&ML'<7O=WD:NFLA
MOKB01"<83#GX>Z5=RK?11*D1,>Y_2B4WB&"X5^'ZCYU]9XIPOO]$2GXIK]D3
M4*'OA_<M-<I2=;!OYQ^]R'MI"_YLE&3W7ZVX&QE"".D$26Q"WWY#S(:.0K1[
M:A9Z'>YA5%7O]KQ_QZVK[0]UC;KU?:4;(L-S<,[IVEF\<L;>'<18TC@6A>XO
M +AXR'XUK<-K]^@Y']WI\=G__'\O?"!S>QAKECV<[,2 ZUX_$$]'TZ.GP^?9
MM'O>-E?L7;GA-9RY:7U?*^?D^^&V01]UZ)M_- NTMB.EG='OP?0[_<$[9IX@
M76R!NN_NDH^L4'YM[1YO[740J_DZMAQBMWBNEKKASAJ=MM#TN\LS#\3QZ/'1
ML7BO_&[4#K_*I2FGHY/3QSO:/!L].S[J "-K8:<!#T]'I],GCW8FXO<G]'O7
M)\AJI;PCDY=-:>[L=+J[WM/IHVV+4'%VART&40L53_MGND[2>&#%.[J)40[N
MG%G3&$+IH,][X,]_8,'STO#=KK0"6-9[8 B?L4#*2)N?SJ]>A]L=6//J$[\9
M3X]'*6_'9'R5@!OP^Z$KNR\&B!V'CL7;F O>:">72TI)?*;>9#?:'EZU<\]T
M $+&)]-'(\1U:Y%K):24+.E:RZ32X_%T]GQ[/1AQ1[LH.N,-6."]F:1]B=*H
M\($[EIV,Y+4A>G1+-SRPJY3*^AMXZ2Y-_##?^O2#HT%))V+2V18CA,3<F19%
M_:66QJ9K::#A'%OY)P%:GS2L=*U##A[1U3<H[,(-)=T@L+VQ("$*?-YL5&#V
M$,"6&>'TP"_4K>>G6&_U%PSI2T^V4[=KIDAEV;IJL8@-'L*NEB$M]ALP_$EH
MRS>QA6%!);ZT* ##A\1^W--(5JCM7O>MFXEXRPU22=&:/I91LY0N"G+ZY,(T
M=$"KKHF>V*L&(2I\8GRTBWC')?=$O&3S55?&)NF\[+N;>IA=/0:96/(%:[[C
MTOAP"[G[M;O#?1ZN+O?#PP5P0.F2FAR56F#J=/+D\4'X-ID><#KX(O/<># 7
M_G.E)!@U#<#[A3$^/9" [F;[J_\"4$L#!!0    ( "&.J%J237[*.P,  *0(
M   8    >&PO=V]R:W-H965T<R]S:&5E=#@N>&ULK59M;]HP$/XKIVRJBL2:
MD)!".T""=F\?*E7M7CZ;Y$*\.C:S36G__<X.9&%0-&W[0GSGN\?/O=C':*WT
M@RD1+3Q50IIQ4%J[O Q#DY58,7.FEBAIIU"Z8I9$O0C-4B/+O5,EPCB*SL.*
M<1E,1EYWJR<CM;*"2[S58%95Q?3S#(5:CX->L%7<\45IG2*<C)9L@?=HORQO
M-4EA@Y+S"J7A2H+&8AQ,>Y>SOK/W!E\YKDUK#2Z2N5(/3OB4CX/($4*!F74(
MC#Z/>(5".""B\6.#&31'.L?V>HO^WL=.L<R9P2LEOO'<EN-@&$".!5L)>Z?6
M'W$33^KP,B6,_X5U;1M' 60K8U6U<28&%9?UESUM\M!R&+[D$&\<8L^[/LBS
MO&:6349:K4$[:T)S"Q^J]R9R7+JBW%M-NYS\[&2:96HEK8$[S) _LKG 46@)
MV&V'V09D5H/$+X D<*.D+0V\DSGFN_XA$6I8Q5M6L_@HX W39Y#TNA!'<7H$
M+VFB3#Q>\F]1UB#]PR#N>ER:)<MP'%#_&]2/&$Q.7O7.H[='*/8;BOUCZ']*
M\3A(? 8-CFYP(%-TB0SI5 &V1"B4H,O(Y0).N22-6ADF<].YA)-7PSA*WO[U
MEPJ7E;YRUW1\-4?MA=_-7%G;0A\^:&7,0?);L]<.J=]+6XKXHCL8Q#!UT3"9
MN< T9!IS;D$0'IK&^+37C:.TLR.GYYW??.=<")<6EG^GJT=OCS5[W$_/DZ2S
MKTTCTA[@WP5)3^L.YW0P:"N&W:B7-(JI>Z:X?09?&02V0]!I=@/<:FVI$:&J
M[R&Z>]@JAL\WE;C.]9H98&;3!>:_]\!GSZ3](AQIDX.=X5G.F/!A,PMS7' I
M76&H@9>HN<I;"?25;,D7%]02.:6(7GT#6<GT@BA8!?A$H\S@WIEO]C349=\T
MM_A&%07E:D'#S=A6*?:KGQYHB4$':'+07)#TDFN-,GL&JYDT@M43J>FR/=_^
M 9*MA%!]7TI%E.[(411MY4./5-B:'!52HMQ\I*2Y+JZ'2*-M1O"TGCR_S.OY
M336E*AD06)!K=#9( ]#U3*P%JY9^#LV5I:GFER7]C4#M#&B_4,IN!7= \\=D
M\A-02P,$%     @ (8ZH6@F1JAB]!@  4QD  !@   !X;"]W;W)K<VAE971S
M+W-H965T.2YX;6S-67MOVS80_RJ$%PPNH,1Z69:[)$"2[HEU"-JNP_YDI+/%
M52(UDJJ;??H=*4NB*N>QKND&!)%('N]^]Q;ITYV0[U0!H,F'JN3J;%9H73]?
M+%160$75B:B!X\I&R(IJ',KM0M42:&XW5>4B]/UD45'&9^>G=NY:GI^*1I>,
MP[4DJJDJ*F\OH12[LUDPZR9>L6VAS<3B_+2F6W@-^M?Z6N)HT7/)605<,<&)
MA,W9[")X?AD;>DOPEL%..>_$:'(CQ#LS^#$_F_D&$)20:<.!XN,]7$%9&D8(
MX\\]SUDOTFQTWSONWUG=49<;JN!*E+^Q7!=GLW1&<MC0IM2OQ.X'V.NS-/PR
M42K[G^Q:V@@E9HW2HMIOQG'%>/ND'_9V<#:D_AT;POV&T.)N!5F4+ZBFYZ=2
M[(@TU,C-O%A5[6X$Q[AQRFLM<97A/GW^O1#YCI4EH3PG/W)-^9;=E$ NE *M
M3A<:91C*1;;G=]GR"^_@%Y&7@NM"D6]Y#OEX_P*Q]0###N!E>"_#EU2>D"CP
M2.B'RWOX1;W"D>47?3:%6W[Q87XF:9ZKFF9P-L.L4"#?P^S\ZZ^"Q/_F'K1Q
MCS:^C_LGH+V?7W1"OOXJ#?WH&]*S[B;>%$"R B4 89QH,Z)2WC*^);02#==$
M;,BVVX7UP-+H0@*0JG4Z&*<3=%E6]#XC.ZH(_FU$B15 D;EE+AJ%*JEGSWOQ
M#STO:4EY!N28_$1Y@P6$= *.\&V]3@FF*28AQ[21$GAV2[2D7)6T3?_\#\PF
M+">ZYQCZ#M./0'<T1R3T_" =&6E#F23O:=F@WD!5(\&R=:V#[\8X%UM6,GU+
M%&PMB3%%)GC>9!KMA*A>0ZVAN@%)(M]*CJVG+5U)E6(;AH0[I@NTVL_P'DH2
M=<P=& 4#:?#?DAO(:*/ $ER)JJ;\EN XMQ.,9Z("0NM:"IH5'MD5#)5N-*+\
M"Q11:#V4F%&$RGC=:(7;J"94 FFXN#'134WX[>,#R_@[[!L&L3.LL""RNASD
M(  31)F!(^U^M 73#"5J03:-Q,U6$Y93#>/(L_JI$VOW3I\;*!F:0A&&PF@.
MV!RH$KSEK#3#6HV+!A5:L*EJXW\K*J-EUI2=#,=^>XM*J(741FS#D3<Z8;_
M4#"3UH7(6H_<;C"W^,:@S=X^QXQ#C\(3'TMX69IP-.D#QC9["35()O([,LBH
M\@*R?:"TL_&)4P\4OK<-NNV56RIS \2- IK]V3")S-E01J@M(Y9_1FNFJ8F#
M'+L:!AKV_9PHL=$[X_[/E,1/];PC>S_UV562Q])_+X52#U)==76IF_@%])2H
M"Z)NXB++FLI&;3Y4(:>PW;GQK8W"B\J$]%\M[<50!/>K75!,>LN3N^Q%'V0:
MLH*+4FP'RYBRFZ:!,YZ'WBKQG[D4SGL01FA>\[6$&2*A-8TJ6#WH@3TB&2)C
M'GBK>#6P.QZZ E9[M&\.IIRUN:'-D-,*!FYI[ ^\TB :. V@PY1<H]NX8TQW
M5^P?$H^="')&,6W1(YDFYJO.?'9.[!=YRS"=S,XCST\=O7J\DYDX7I,W E/^
M,4%P1-9>N(Q=?Z1>[!H0?>"Z*PVF$I_J>>64KB&J7G>EZPNQ1P.LO6CI1N4\
M\+VU'ST;3;DC8\/T(0''IMU>2['%STLGDKS('V0YX3NBB/<N?K0.8>0E8S]/
M=7#]'&!:.CH_];/59A ?A0@N'<$U3AC5B6!4*#!M5OX7PWMW\?NHF_]KCO]!
MR^H[CMNB_@^MZ8'6@B4R\9TQMI9U,,K+^3C>X^2AYM)GGQ?$4U]BLTF7R;0H
MS\/U=#)<KA_1?_JZGDR3;YZ&!X0=3V:B9-J?!O#S.'X,DW_2K]".$ZSHC."0
M:8+IW#+\AQTK62;.&#M6LAP7XV@T7'_!PO#$/>LSB;<]+1TU=M,/EOZH\<_C
M)!IWM30./JVK.<%RH*M,HP_13./$1%KX"8TO2J*'%%V-"T/H16GTY,[JGI/F
M9W)G/8*\]H+Q1_)\Z2<CR*CF<H \*L'PH0:N8%_BS/%1W'=JM&=:_R2\\TQK
MKX:.[=70P^?;]DC[()Y''%./ N><;5@CR-4(Y./NK3I4'@)0-=CKX_(6,=IK
M@3&QUU\\Y&33Z :AT$.J&.F'+?D9#M>_ Y5C"WYTE15[:129R6D=CKT$JRLN
MK0ZD4Q#Y9FGZ1;]:Q69A/5D(?-]<B4B@&XU-<[H\;9(??YL=NCU=.!?=V(RW
M]CK?7*DU7+=WWOUL_XO!17M1/I"W/S>@_[:,*U+"!K=BA"QG1+97^.U B]I>
MF]\(C9W?OA: ?5@: ES?"*&[@1'0_XYR_C=02P,$%     @ (8ZH6M4$P[E,
M!P  /A4  !D   !X;"]W;W)K<VAE971S+W-H965T,3 N>&ULQ5AI<]NV%OTK
M&+7IV#.R)$KRDGB9B1VW]9NTR<1)^QDB00D-"*@ :-G]]>]<@)ME6NXV[WVP
M11)W.7>_Y-G&V*]N)81G]X72[GRP\G[]9CQVZ4H4W(W,6FB<Y,86W./6+L=N
M;07/ E.AQM/)Y&A<<*D'%V?AV4=[<69*KZ06'RUS95%P^W IE-F<#Y)!_>"3
M7*X\/1A?G*WY4MP*_V7]T>)NW$C)9"&TDT8S*_+SP=ODS>6<Z /!+U)L7.>:
MD24+8[[2S4UV/I@0(*%$ZDD"Q\^=N!)*D2# ^+V2.6A4$F/WNI;^?; =MBRX
M$U=&_2HSOSH?G Q8)G)>*O_);'X4E3V')"\URH7_;!-ID]F I:7SIJB8@:"0
M.O[R^\H/'8:3R3,,TXIA&G!'10'E.^[YQ9DU&V:)&M+H(I@:N %.:@K*K;<X
ME>#S%S<Z-85@G_F]<&=C#XGT?)Q6W)>1>_H,]XS]9+1?.7:M,Y$]YA\#20-G
M6L.YG.X4^!.W(S9+AFPZF1[ND#=KS)L%>;._:5[DGO=S4T&\<6N>BO,!,MX)
M>R<&%]]]DQQ-3G=@FS?8YKNDOXAM-_=\Q)"6S*\$_JP0K(B1$!0)!C^FJ\:1
MPT!V98HUUP\HI=18(N*:R8C!\WNVMN9.AEHS.>-KW-Y+9+U0#^S;R>@(R:<4
M3D?L<T?64FAA0921"+Y0HI8H==#Y14LZO/6@<2PKK=3+<+ 65IKLE*W,1MP)
M.V3:L"^CVQ'+10:)*D 2]^@]3K -=P'U4LL_"+>+9C_62$1YJ0#7Y+E#.UL\
M!++22R7_X+ZR3.,$+0V@"8HRSK&46_N _K;A-G-L[[MO3J;3R>G/']Y??0C7
MR>E^M+K76XT[\RH<T310P'U6*G*X"N9[LPTF6(P>(JR-+H1M@.Z&T6.]"MVC
M:!+ Y/C4D79T((WNNG RD] ,C;W\%!N>$FBN4_A-^A7\D%8^MV)9J@"P4D0/
M)72EGA#_H,P"E#?:<[V4Y/[W9G- .9RQ*J%K!_YP\_[S3>U @J+*"G\5(.!8
M<]L$"FX2Z*^DA6[ON"JCH[C"Z A8:Q?WN(S8C&ZXM]USQ36'5SK^>4#^9U"*
M['.P"'PE5%C/*77)8<;)X 8\1TJRM[=7['@^&3&2.9F=AHP0SH<BH6+2)<2(
M/!=AT$1G4A!12TH25M-6ZT&HUCI5^FJ691*B+ )K31%KJ5L>#OE1>@,K@@Z@
MGR:O*.=T*M><JB K1:TRYW?&AEJ)\(@<DR7]>D #+6,(&Q5:\/:0I2N$-E1P
M3PB&P6LM2:D[A4DF+] 1<NE[HWSSZ9:Y:APG1].]8I_Q[#<,.4QYXG [DYX:
M0@._3O>JE ,%(:N8!;<:@+"%(-BB==]F)>%CZ2@-?B-1E8?"(6D LF5,<=FF
M.&RG0]&([TWQ_U%FS(?_5FK\'WTU[(X;_5SE(>@64,MU)TV('+:@$3P ^.,L
MB2E@ -*&/@\$EEI*;S)RU'Y6QF2LIE5?RR&)=;*)^RKQEX#JPA$-$.':T+]K
M1UPNK?/L]Q+Z@(?"\&049P)'V.K(6SY,L *JF))?:>QZ*,-<]'3A=S6WK9X?
MFQW'/ERJ# 7)0NDC>G &ID\,<56GM<B^CMI(&H+38<TERRI7O=RL1Y@'I#%=
M18<@D6ISJT;3]42*<"/[ @(\7F*7"FQ64$1SBC'0\@7&I\>$1],.=(H[7^T_
ME ZNAM?3[H>T-VRP_M,O;1:ICXV#1AXF?QVV:J6I)G1>^M)N[QIQ&Z#&AY)2
MLA)3N6)7+899VQ?!GN:0_]GM+N1A; P(TSK*460O@,>7K="=*]?X8,B"7L?>
M-&G[3W_K5?1S %N]%#Q'?+UEQ/9Y,(H,:L57[NR,AGHWW*L2&:/$;[M[FHPF
M[%7]<UT/CY?-OGT\I!I@)Z.DN3EHJ;?'5M@Q\R8)ZE)KQ'2D3$;'[=AH)ISK
M'W$-93*:=J2U?@H]MKOJM0RMRB09G30WOR(C5T;%[(?^%M>LHV'27'\2J =-
MS:1MX'63?NJ9PX[:[Y^:@ZN":VKJ<:()M T']A?[;8^JO>/1ZS92[X0H0LJC
MX6 2MU2PJZ7:FXZ.]Y\ #*E3 _(2 >QP'^YW7'387%^]O!"QO6J#[.A/NO*.
M.LZZVK6#M?RS1]8DD]&\O;U^<=5K.;'6GNSWYN2',$P[#DCZZ:Z?-K#ZZ!BI
M](K-)J$(NRM2;LBBF'G4D\([-A9!&LTX.JA>R9Z;>L][FA(%,\RD,BQ@31;\
M^9:Z%YJE*1U$N?V_WB>_=+%UZ_NRQGC)58CE ?L/QWZ(EE7KKLF_9:]?OZ:7
MJK##!/!I:2DGZ^WP\6M*X^\CI'^':7M;>L+0ED."=+JIO85W1%MVLC^9-"42
M<:3T:EM 3TD_NJVR><>Z+<>VQIT 9W77]S%EW/FF50B[#%_N\*YN2NWCYZWF
M:?-Q\&W\)M:2QR^+@+"D_J%$#E9D[>& V?BU+MYXLPY?R!;&>U.$RY7@:-Y$
M@//<&%_?D(+FD^G%?P%02P,$%     @ (8ZH6AEC5:H*!0  &@T  !D   !X
M;"]W;W)K<VAE971S+W-H965T,3$N>&ULK5=M;]LV$/XKA+H6+>#:EBV_Y<5
MDJU8@78+TFS%/M+2R2)"D1I)Q_%^_>Y(25;B. NV?;%$\NZY>XYWI_/95IL[
M6P X]E!*9<^CPKGJ9#"P:0$EMWU=@<*37)N2.UR:]<!6!GCFE4HY& V'TT')
MA8J69W[OVBS/],9)H>#:,+LI2VYVER#U]CR*HV;C1JP+1QN#Y5G%U_ -W&_5
MM<'5H$7)1 G*"JV8@?P\NHA/+A.2]P*_"]C:SCLC)BNM[VCQ.3N/AN002$@=
M(7!\W,,52$E Z,:?-6;4FB3%[GN#_LES1RXK;N%*R^\B<\5Y-(]8!CG?2'>C
MMS]#S6=">*F6UO^R;9"-9Q%+-];ILE9&#TJAPI,_U''H*,R'1Q1&M<+(^QT,
M>2]_Y(XOSXS>,D/2B$8OGJK71N>$HDOYY@R>"M1SRU\K,-P)M69? ,G9LX%#
M5#H;I#7"94 8'4$8LZ]:N<*RGU0&V6/] 7K3NC1J7+H<O0CXE9L^&\<]-AJ.
M)B_@C5N*8X\W_@\4 T+R/ (5QHFM> KG$6:^!7,/T?+=FW@Z/'W!OZ3U+WD)
M_57^O8PPZ;/; MB5+BNN=JS@EMUS(_3&,DF0C*\- ):2LPSKF E\ZCP7*5C&
M5<:($2XPFR66B-FQ%$7!A$-"RP"7F'V0,5=PAS_ C+!W06(%"G+"-""Y(QE-
M$FC76\]89;")&"?(G$%-<-QCK78>28*UVM@^NTA3;3*,A-SU:@22Y[B]401,
MSJ,[NHV8-X":7Y[2W I7,,[(;:3J39#KBFD%; ?<>&2'?8QP$=,6VKB/7CZ
M>FJ'YBU4'(V#W-5:6\6$\CP<7TG :&"CZV-16$>6.X'H^A?BH&#K=>J0EANW
MX9*E6ED4JK49VO.A"U&E4V>PF?D[/P9-GA(7O!.NUA2IW.@2]5&*@+ KWH/R
M@?!$>\2A))=3XMZC*[L760 RY S8E./M8B=]@AGW9Y.WA!GC(R1B)Q!UMQ=_
M$0$\XB7%DE(EU6N%VUD3/>258;/'#>*OI<C\U>1"<94*#(MUN!$H=A+M:2X$
MZA0VP K(+/,5ZZ_OO;>$58&$[8<3]N[-?#0<G_YOST^UY5L?Y6Y7/!#%'I<6
MOLDU.]3LZ"=A-S[<#Q4%P[.16JU#9AZ0;;1_0*SDR>H YS#%&X5DM'^=L5OM
M,-RFJ]Y!GDR[JVG<KNCF<RWQTLG!D -U\,/=XS=T8X3;47+E D_K!*_[%N'$
ML].#\F92\)60PA?!RC<4K1Z5 A7-1F7"-H5:\=VC-D#9ADF$0'X4:,NRR<:Z
MM S0&$.&%8Y#M>_82N6F]?68;SM4KC"\_YC/*ZPBA;TVC%S4S/).-O@L^+=Y
M^@>UM0M/*0#M[VDQF]'6_NKBWG@<T]:LNS7R4O-V:S'Q&XMV8[J@)!T/?7-$
MEM@_<TRH/<:L29\0GO8B&H%)+YDFV*ZM/6&?Z2,#V'.:P_=Q;QC//[!?GHO^
M82[LZ26]))D>C<O5QOADIONAZ^^$98B^M-7U]'S<FV!A!#K';%'2;_WH1Y\1
M_'CB)-O)H^!TZ,04LB9'&7U"0J_B4KZR$.SSZ;(%^DC9NO;LZ_/E>^WWQ\;O
MO;<="LD</PR^E1W5>\2*+?KC!7O;2#\W( TZ\VH)9NVG<LL\1AA=V]UV\+\(
M\^Y>//QKP%C@IXCFG!Q5A_@MBG R\9-X6#A=^>EWI1W.TOZUP#\O8$@ SW.M
M7;,@ ^W?H>7?4$L#!!0    ( "&.J%JNMLH8M (  ,\&   9    >&PO=V]R
M:W-H965T<R]S:&5E=#$R+GAM;*55:T_;,!3]*U:8$$BE29/T06DK\=BT23!5
ML,=G-[E)+!P[LQT*_W[7SH,BE6H37Q+?ZWN.S[7CD\56JD== !CR7'*AEUYA
M3#7W?9T44%(]E!4(G,FD*JG!4.6^KA30U(%*[H=!,/%+RH2W6KC<6JT6LC:<
M"5@KHNNRI.KE"KC<+KV1UR7N65X8F_!7BXKF\ #F9[56&/D]2\I*$)I)011D
M2^]R-+^*;;TK^,5@JW?&Q':RD?+1!M_2I1=80< A,9:!XNL)KH%S2X0R_K2<
M7K^D!>Z.._8OKG?L94,U7$O^FZ6F6'HSCZ20T9J;>[G]"FT_8\N72*[=DVR;
MVC#T2%)K(\L6C I*)IHW?6[W80<P"]X!A"T@=+J;A9S*&VKH:J'DEBA;C6QV
MX%IU:!3'A#V4!Z-PEB'.K&ZER,\,J)+(#6<YM5NE%[Y!:EO@)RW-54,3OD,3
MD3LI3*')9Y%"^A;OHZ1>5]CIN@H/$MY1-231:$#"(!P?X(OZ/B/'%WVTSX8F
MWD]CK\A<5S2!I8=W0(-Z F]U?#2:!!<'1,:]R/@0^[^+/$PS&9(?TE!.^#X^
M0C61&<$-3HI^APD5*;F!!,H-J"X;DP3KF3:06H0I@&22XS5F(B<G3&!&UAJ1
M^G1.CH]F81!=?/C]JNN-G&[:B77:UJTS[+9VAK<\437JK=I9SNB&<69>>H9/
M9#8(I].=>#HXC\?DCB5*:ID9Q"2(!DU.1J=]681+=N,X#M_5/QM,@M&>;#2;
MDEO0>DZN:Z5 &%))Y8P)MW;_077@T6 <C'>B21RU!_Q=BK/_IK,-!^>3G7@R
MF,:OW6'7^[YE?\=D2E"YLU*-GT@M3.,W?;9WZ\O&I%[+&ZO',\X9*N*0(308
M3L<>48U]-H&1E;.LC31H@&Y8X!\'E"W ^4Q*TP5V@?X?MOH+4$L#!!0    (
M "&.J%J*Y4T2PPD  $L9   9    >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM
M;*U9VW+;.!+]%91F=RJITNAF.\[$ERK'SM0DM;.3BC<[SQ )2G! @@% *?K[
M/=T *,F6G,KNOL04232Z3_<YW6 NU]9]\4NE@OA6F\9?#98AM&_&8U\L52W]
MR+:JP9/*NEH&_'2+L6^=DB4OJLUX-IF\&M=2-X/K2[[WT5U?VBX8W:B/3OBN
MKJ7;O%7&KJ\&TT&^\4DOEH%NC*\O6[E0]RI\;C\Z_!KW5DI=J\9KVPBGJJO!
MS?3-VU-ZGU_XMU9KOW,M*)*YM5_HQ_OR:C AAY1112 +$G]6ZE890X;@QM=D
M<]!O20MWK[/UWSAVQ#*77MU:\Y<NP_)J\'H@2E7)SH1/=OV[2O&<D;W"&L__
MBG5\]V0R$$7G@ZW38GA0ZR;^E=\2#CL+7A];,$L+9NQWW(B]O)-!7E\ZNQ:.
MWH8UNN!0>36<TPTEY3XX/-58%ZYO;5WK )2#%[(IQ:UM@FX6JBFT\I?C@"WH
MQ7&1S+V-YF9'S)V(/V!@Z<6[IE3E_OHQ7.O]FV7_WLZ>-?B'="-Q,AV*V61V
M]HR]DS[>$[9W\O^*-YH[/6R.*//&M[)05P-PPBNW4H/KGW^:OII</./L:>_L
MZ7/6?]S9Y\V=C\0_=- +R7SX^:?7L^GT0KQO@.WD]5!(\="5"]I-K*4'XY!"
MITJA&Q&62GQ<:J/;%C;AS )T]P%+MG?!Z[G7I0:UA:UX"?QO9;/!M0Q">]%8
M82S\=XF,'%3;N=:ZH$JS$=)XVQM_WS2V1$WCHA@-R8U*KJPCXX5R0=(-$!/6
M5-T:NU%P+&U\T*N1^!<>M38@0BV-:.6&@Y6U[>C/8N$4L(&5 "?:UMEO&K17
M\.MO9Z-SL,\8 #<4K>F\,'C7P*D C. LARB+PG5 #)?3V=]%2X$V35>+RME:
MW'0+\%E,3X8,..WRH8.')Q.Z0;<)#K@/<:T"@Y3,X7;!J>^2<_R MGFUN\OW
M O1"?:,J]3&IGT?W(U%:8Z3S8B4=:@KB$Y:/$6P5DH)==]Z'H6(ID4GA -"(
M:NA.%:J>PQ>$<D[%M'"V:RDAOY[GM/Q0NN!BJ0N8+R.X>'$CD)36DO_PQZG"
M.@9L6[B2\<&M&L*_P@Z(\Y]H#1^4\VK#CGZ034?FX>=KKBH@TMK&*T8V]@G0
M0S>@"N\^WSPN1=KR,Y[CX7W@BKG3/CA=!)1\YP(%RB_UMQ'HU@WQ@K@WFUQ\
MOK^[Y<OIQ4NAN)20;02IC(;61Q >NB9ZQ"BHYL&"'63='P"4"PV,\AUT0L +
MK]07NB2P%A02#.&V:K 4"2/,4A*V&![B7U:!_;#+SI%Q>M"27#1%S_T$(]4N
MBD\;40$8U#9V+Y7+;Q$",2O$A)B2?'\'D8+R0Z[R6ED"'$)6DHB GH6Q/ON1
M]D4=/:#QQSH)G6L>^16K).M0:8LO&("ZUL8HUTX'L A+OW;$;JS=1R/E]S'^
MPRV!. )L#2S)M0<@Y5'/,0$K%==#7ICHD??'$N]4G:R0Y'7&"$X>+U-5A3 9
MPM_4W*7*GIT.Q9U<Z5+<L<R?7]PLK(> 6%%I$XNL"PP?P)/>9U@*V=)?=6#A
M:O28!D!,FJC,_RLC<LWM=@V6O23T>%NC"1:=<URB>)2PMU6E\987+VAM(M:]
MPILH=OAQR^'=<'B9:PS7GT6P4:\(K00_:0]GJX2VI;B.&*,684G_"4V#>1A]
M :X&757L'W>0E8J9W7^>H$4\2POGN:-!HB%94<*/[5@ &;8Q)*&3-5&NI&L,
M'H0.GM4>=".2W,>QUXOIY,7\)7LTF[R0+S,/=O9XE\7\)N9E^NO)Z:,=L/I3
M9Q2,S7\Y(Q6N.[-(V@R.\I;Q-4U%@>9(9$#C(15BVH<E@/7#7LMI=(9U2;--
M+4MP"<T_UG2M/>%%B?!43'$ HN;LRDSS5"0]DM(!6%WHU)/1J6E,4KW4WKSO
MA3:H8ME88Q>QQ&AH0Q)\ZIY]#DDY"4S?J@*F$6HI:\EQ54SUW/N'J4'[D&SD
M J87FI([4@R6:EB92JSTPJ([>K,9BGFW7_4%>KD-5(ND%OP(9RED7CU65GJ(
MH2K@C!0]0/-:$*-!5I1$YR0!T.,=JP1AI#)98YP1M-52TB1&6J0<X2?+%9$R
M28N@7@CX*\A2P_BB ?=]!/'C^,.-'.=$QY,E4+A'%R?I; *%"!YAC"^6.U3+
MT:(M*;U*%&(MY Y&KR#UR$*NUG>WPZS&CTI Y,&[%PNH>;<=FDFP+LB'-'^1
M$\=\6#A: :W>4 -IK6KDUB&>?^Y4BU++??,##.J=*KO[\T-?9D>\13& /F57
M'/#W(C*H 3G;D*>IX]X^=1$P[>Z;-]!-/+TC.?L5.D>_430F]55"%L@)1)(M
M$;DPZ"D3^1X;)SHR8LA<+[^CE4D:(%$VE0F\RZW2D]*NR.5%KI\]%A$)Y=RH
M"%VDQ7JIFK0V]M!4SW-RU%M# *$\UQ16'CQD<D63/F^&?;AXCZ*M)9(CO[#L
M([HF?39@+W5XXA,?57:F#!J@0>FD=O%T@$072I%FQ5),S&.P(^LP%*@F@V=)
MWJB!HQD0 5%@\\[3@0N0_(496>U5PG[R-)G$-B62AD2)1 J?.B^&9IR]( ';
MU_OUE%ZX.F>0LY(PDM);@GXC*#LD$&6$#9SGG[O\?S;DI&ISE3.(_#"RJ43#
M)D=8RP8BRP1+W=X<JM/>@WUQ]&K/@Q_0N$--A<9.:W3)A7]8 &F4 P=$<"SU
ML7:VBP[JXU"8[3$<I;131;JA=HK8,?LE9+1*@AID/-;1*(]=#P]-J93D'*_\
MXM!U'+7!<O>(E4<]VYGR*# :YIX ,TSC/)_#N5I<9QAH;@7LEHZ'+JYGIL)N
M/GYDSST<MZJ1$4U[X+ZV+#_KI2[BZ!V=VO$)AY("Q>1Y[I-EJ:,0'$IY+O3<
M>+:GZ8.(_#>E\OT"Z:=E3J/82>-3DD5(TP"70*DZG'C4GF3UCD8+_ 4!$K8K
MZ\\2F#2"OGZ6QP H%;))9Y<8;D42G<Y[S$#)\D/EGJ5F7U*=6M$75^(S53H/
M>D=\8>%0W[!?(TV>G/GT3OJ6-T"]ASCAY9Q&F;(^-9@> XI-E@_HY=3(*@'I
MAQG^8O14=9\.=?MM:'>VRX6=-&HKO5N/8OJ@M*C=1]^<3L\FP\EDTE,Z?Y^"
M&F[0?=/W#YH$^/M.;M.]9J/VO&:<W^-\H1V&#$*VH%VY7/9',>I_+/I?.^WV
MOK!$;.)$Q1%$I^=J2V&2+I[1XZ>\8W2@J4'WWP4.#X^'OIN.=SYPX]"WX,_X
M#%X3XK?N_F[_/P4W\0/Y]O7XWPR81!?T <6H"DLGH_.S@7#QTWW\$6S+G\OG
M-@1;\^42IQ'EZ 4\KRPD(?V@#?K_/[G^#U!+ P04    "  ACJA:SYYRQ&T'
M  !Y'P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6S566USTS@0_BN:
MP##MC.K8\CNTG2FTW,$,1Z<M\%FUE<2#;059:=K[];>27R*G3B"T!>Y+8MG:
MU;.K?5;K]>&2BZ_5C#&);HN\K(Y&,RGG+\?C*IFQ@E86G[,2GDRX**B$H9B.
MJ[E@--5"13XFMAV,"YJ5H^-#?>]<'!_RA<RSDIT+5"V*@HJ[URSGRZ.1,VIO
M7&33F50WQL>'<SIEETQ^FI\+&(T[+6E6L++*>(D$FQR-3IR7KSTU7T_XG+%E
M95PC9<DUYU_5X%UZ-+(5():S1"H-%/YNV!N6YTH1P/C6Z!QU2RI!\[K5_E;;
M#K9<TXJ]X?F7+)6SHU$T0BF;T$4N+_CR;];8XRM]"<\K_8N6]5P/5DP6E>1%
M(PSC(BOK?WK;^,$0B.P- J01(!IWO9!&>4HE/3X4?(F$F@W:U(4V54L#N*Q4
MFW(I!3S-0$X>7TJ>?$4?Y\I%%:)EBBY8)4662):B^N&G,I/5X5C":DIFG#2:
M7]>:R0;-+OK 2SFKT%F9LK0O/P:4'5320GU-MBK\0(6%7 <C8A-_BSZW,]W5
M^MPG,+W6[ UK5D1Z6<UIPHY&P)2*B1LV.G[QS GL5UMP>QUN;YOV!^'>KCFR
MT-6,H4KI.%"QGJ*$%\#_BFH*L5MUS8",.56+28XDS']7ECR%X(.+Q(+=<=P&
MQGE.2XPH@ 0:0Q!HL. 0J:799,(T)]'[1<E0J#;6"=">4OGB642(_4KK4EKT
MV'FUKS4,K4D<=/9MD<D[],9$_*,(8 :?H).YR'+DU"%&UI# "@827"/A4P:3
M!)!6SC2N#C$&U^5YK3Z_P\C0U0!5LZK.L"43 "//>:*A : )R/-EA?:R$J3Y
MHH(5J_V76HOMOGKP/V0UC>IJ)ACKD?7>5*!>,M/<:^\H#JH?#YUF JQ$<$P(
M\'DY!;LK6743GR./A,8H\M EY& U47F0II#4,@A?JO>AB;"5.,&>[W6CV+?1
M%9<TWQRCJY4(CB+'&#O8=E>J^BQ:F=5L'SIISRD5&'R^.D+4UBW 2Z*_W]J:
M9$;+*:!/%T(9R"AX#<351*F\?% H+R-P5<;3"M4AN7*N=JK2HQU+(2!T^BA5
M0%RK\_/Q-G_7_R_Z>&/IP<D-[/.4;9SXSZ*X!M^ U:T(.D"MT 53=8)RS1MP
MA !_+F O6]&3Z52P*81_=Z?=GK-;)I(,,L\YI#F(6"8*M'?'J*CV(0% [H,B
M(4&?:;Y@Z.-" KW+5$>81.]IN5"[V+K7Q4[@8R=VC<APK2!$@>42%26."R$7
M89<$Z"]!R]J =NY![[J%E:(])XJPX]O[W5/7"KW>9*#;A&6@;GQV.P?.;%:[
M9L%:?! <AR&VO0$#'#/<8Q_'7H1#-_[I36_LH]<Y&P02A:#?COI 5L/ L@,3
M$,&A[^+(]7\:T&?(W$T2!R>RI#F$;N#V[_74+Z?9?;JMJS!HUS[:E7[K-%R+
MBY:.[>T>+=N;.]%SE9Y][+HQ4)7T]HZLAD!7,_!(A //QK8=[\#:33/N4W6/
M !YOWU@]#GZ8LYZV)L 1Z5,%*@J(1#,Z'<@[@8<CSWZR"-O&:0^RH^\3."=M
MT[46X/9-WP-0'_O@<MOY>2X_)M<?Y.&NM/OQ,[\5&#CS'^VLMWY[,OJSD],3
MU :11S )>S6C;T4!BBPO4$2P(6Y"[,&,'2J#T,7$)69AX(??RS:]7.-:GK-#
M?1 &ZE#V32-"R_; B!XYG "[H8^]!YS&#RP?P-F^T\_O4)^'EA<;]T(<Q2%V
M_Y \\R=Y]__)VM]04L0$3K4>JS6CVF%DA8K<'@ZC !.?#')[Z&JXCABZ&F"X
MC^]S?$AT>UT1PW%&W'"S:;[)+ZB'O0#[1E'^*QD/Q85RL!WWT!IOY%&?^0YL
M1H1C.WPRM+M5& _U]=5,=7ATFZ?D3751H6D3;.O5 RKJ?LS6LL%"ISN(843!
M/-4\ 6J3P,%N1#H<&A?K(AK,5^5-0_;V/I0HBIP@_ER]Z-7=PE[W1?5^S/9@
MR<N#F]K-NF/3K5=RB>Z8FIOP:9G]6[>\0/.:J1JP>CB?"WZ;%: XOT//(=VB
M(LMST%6C6+99KL5<UUV(WZCNW"Q+='NN8DUW:@FR4&:9RV<5K-KZS[K?4SU9
M4@%UW-HVFO2L)X -8B5;6[VJ'<W>WZ.TB59EXG 7V+S=@LGD4%G[Z-">MH-U
MO]&T\82[YYGV@4[UZ-0\H&JGO:69:$Z73V43P ,%8RL$N<J+L1V:^8O85AQU
MAXGJ?:R2A>=8Q&WSSYX3>9 7C=Z19\7QX*'AVC@VFTSP$ASV *[MA _O1$%D
MOLS!RK;[I_J^OP?MZ(?V @I'V('0-QM.OA6&@Z=YX_CO'-%Q[*\\#0DGWNQI
MM3K4A8'37WU5$?:SQD!^4 :W9T&3-UDQS_D=Y/14=]BYN/^.N2W=[Y:=-T!Z
M8)IV8BMXVCP]]#UM;'P.+9B8ZH^^%6A<E++^,MK=[;XKG]2?4U?3ZX_28.84
M2DV4LPF(VE;HCY"H/_36 \GG^N/J-9>2%_IRQBBD5#4!GD\XE^U +=!];3_^
M#U!+ P04    "  ACJA:CC"%.(($  "&#@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970Q-2YX;6S-5VUSVC@0_BL:]Z9#9BC8L@DD!6:2]#J]F[:7:7.]SXJ]
M8%UEB9-$2/Y]5_(+-@&:Y+[T"^AMG]W5/H\E33=*?S<Y@"7WA9!F%N36KLZ'
M0Y/F4# S4"N0.+-0NF 6NWHY-"L-+/-&A1C2,#P=%HS+8#[U8]=Z/E5K*[B$
M:TW,NBB8?K@$H3:S( KJ@2]\F5LW,)Q/5VP)7\'^O;K6V!LV*!DO0!JN)-&P
MF 47T?EEXM;[!=\X;$RK35PFMTI]=YT_LED0NH! 0&H= L._.[@"(1P0AO%?
MA1DT+IUANUVCO_>Y8RZWS,"5$O_PS.:S8!*0#!9L+>P7M?D 53XCAY<J8?PO
MV91KH[. I&MC55$98P0%E^4_NZ_VH64P"0\8T,J ^KA+1S[*=\RR^52K#=%N
M-:*YAD_56V-P7+JB?+4:9SG:V?F5*K"8N=OE.R!"&3,=6L1UL\.TPK@L,>@!
MC)A\4M+FAOPN,\BZ]D.,IPF*UD%=TJ. GY@>D#CJ$QK2T1&\N$DR]GCQ_TJR
MQ$CV8SAQG)L52V$6()8!?0?!_/6KZ#1\>R3"I(DP.8;^Q B/8YP-R&,8<I&F
MZV(MF(6,*)N#)NFC17W"C%.8DPHNXY+@0ER'Y90&![!EE."9![EE@LD4B.<<
MFKI);JPA:D%6E5H%9[=<</M 6/8ODAA5[)9*_,C@*LON 7OX14'-2&2YUB#3
M!V(UDP8C]6IM[ B3&$'.Y!*,"VW!N"9W3*S!866@^1USRM[!'Y ;GT.Q4M)Y
M=Q/L"7OAM@*7(@73O.&@CP$;2=^W-*2"&<,7//71&K+0JG@:/&;M=]?F&N!-
MX82#VZ:YREP9-!#/+NEWVGTR2<^70ZT->C8GY^3UJPD-X[>_S/_[JHQ7=1E_
M9G!=D>1C0Y(&RI7V6UW:>O2F18MZK,WJO_Q6[WJYV!*H'GJWY<JQ95T1?71%
MNZPXSRSYD\DUGEZD9D9M]1OIT3@^:??CLU&G'_4G">V,T'XR#D^J#+IDX1+[
M@!QP,GG,N"[9&\PW32NBT;8=GC5M&H?D1EDF#E/TF3Z[>??H.&GUHOZX.]NG
M"6;\&8%8H=:X[5LW6$NK"# MN5RV\*.M?32*]^4ZHNT2[6BW4Z&D6Q$:[51H
MO%-#V@\GDY.?<OJ7%=]CL75%UA;785&U5-(646OX.:))VAN<1!U))%&W'G04
M[E3HU-5LGV)>PMTMAWI1FZ91'+9["<X=%DTEU9X+X.39ZNEL )VTI1-/PJZ4
M3I.72Z?7YGHK;XKN#XEGIU(=:8R[9>G$6DII<KH=N?%):RC9Y6-%-\WQ[/;E
MX/=H [B?4EF\]UID'U;!':(>P&WG_L.T=8ZZ(]MAEX5Q0!DW*4+CG($5TP@K
M'@;D0HB7'NU="N3,.26\P/LBIB;1'^)B"V-#5+E$:W=C.G[1,A;_BOKN4MFZ
MB/R%:(_[P;Z+Z+#U-BA +_T+R* ]$JA\)C2CS2/KHGQ;;)>7+S2DQI*C?P$+
M- T'XU% =/GJ*3M6K?Q+XU99?+?X9HX/1=!N <XOE+)UQSEHGI[S'U!+ P04
M    "  ACJA::X )$L ,  !^)@  &0   'AL+W=O<FMS:&5E=',O<VAE970Q
M-BYX;6S-6FMSV[82_2L8-^W8'=HFJ7><>,:)^\C</CQUVOL9(B$)-R3! J1E
M]=??LP ?D"@[:7K;N5\D$@06^SJ[BR5?;97^8#9"5.PQSPKS^F135>7+RTN3
M;$3.S84J18$G*Z5S7N%6KR]-J05/[:(\NXS#<'J9<UF<7+^R8W?Z^I6JJTP6
MXDXS4^<YU[LW(E/;UR?123OPBUQO*AJXO'Y5\K6X%]6OY9W&W65')96Y*(Q4
M!=-B]?KD)GKY9DSS[83?I-@:[YJ1)$NE/M#-N_3U24@,B4PD%5'@^'L0;T66
M$2&P\7M#\Z3;DA;ZURWU;ZWLD&7)C7BKLG_+M-J\/IF?L%2L>)U5OZCM]Z*1
M9T+T$I49^\NV;NYH=L*2VE0J;Q:#@UP6[I\_-GKP%LS#)Q;$S8+8\NTVLES>
M\HI?O])JRS3-!C6ZL*+:U6!.%F24^TKCJ<2ZZOI>K*'B"OHME:YDL6:\2%FB
MB@2CFI/FS*O+"CO1_,NDH?K&48V?H#IB/ZJBVACV39&*='_])3CLV(Q;-M_$
MSQ+\D>L+-HH"%H?QY!EZHT[LD:4W^A^+[:B.CU,E +TT)4_$ZQ,@Q C]($ZN
MO_HBFH97S_ \[G@>/T?]LWE^GFH47K#W&\'>JKSDQ>ZK+^9Q-+LR#+!O:#*N
M!4LR;HQ<29$R6;!JHX7P&#&.-?.2W<JUK'C&R!G9O<IJ1^*4Z,;AU>WMO;V*
MKLX"=K\K5"H>K1@W:YG):N=XP:R6)"NU>I"I,.SF'4N)*#1;<L<:(Q7+1)@
M:L@LT,&,TBQ!?++7T(LLZ(*6!MBI4-433])^"%OQ;*VTK#:Y88A\3%:F0:/0
MQLW&I!SL9X@!9:9VEED:ET4EUHZ_H30\,ZH7B3/-B[5@:N5$$\4:UA':JK0N
M2;N=B*";9'7:<DS,%L8%9>P4N,&DUO[M9K>6HA#M0QA"93+U9XA'T$E\"G"#
M3'+XE),2&: 2VCW+>8$X37(XP5K[#4S%"W";0EUZQ\J,5\0F?(97/=>&Y2*5
M"3Q%BT3IE.2K%*N-X,M,L+1Q([LO4@XOY!_.]7A"TXE!1,IJ8RV#C4LM186L
MTG!*AC'6$QJC^>..^\;C_@SWW13DKP_"NA'TE=<%!&F@ I65]3*3@)[(FD$L
M6PE#:0SF=UQ78( O'0,0&YROA7.?5&)CN:PK00:KB#-,^(^J-5;CF=O#J$1"
M/:1##FY762V@$6TH!V;I.7*(<"ZM(',A*VB";F' ;/>'8.M,+;&\0(ICR0:H
M(&V=0H=%%;"M6 9PS%0JN^;];V?#+=M%%^R&&;DN$!D23DJD@ !@PJ.K(T%%
MBP=1U.3,AJWAF?!66'6E56[MF*E6CS;&"':W@8K*$J  Z-X5V!E10TOV R\^
MX/(MY$GQ_YT #(H=IAC-11:P7R$R"-\#Z\(IC*@UH_^"W5*5'P][R4:*51O\
M"&LBD;8 R?D'>%$;Q][^?/MC&\A(&")O1"&A9_$HDII*#>L;LJH0*:WW.  +
M-]GMT\]5*VA0Z,![V#/1/6PE<1-6L@ .R"C-!'9*P4?+_,P)]^O%_07[[N;F
M#E;CID9*(H"E;+D[:AT2BCQ&//"LAN9Z: AM(PV!SKI19BU%&<# ,1&=+(WX
MRM3)AG'#1$XA49#5")M"5SO'O,<RL,E+"_*."DMK&_LL.HJBQK-EG:Y%E^S
MA4@0D>@>A+&$@C'2TR^-8\$7M#*&W0%RT@'J70$["+84M-A!V!K4AG7WK.*/
M JY\YXD)GE#7N=S7($BD 3DPZD*ZLL'1:36E&=4FV]G!WVNN803<0<T43KF5
MR0FR)P7I&L&W=BJPVQ%3I>.]-1FV,H;"!XAH42$.(+!1B'H0IB+S!'87U,DN
M)[8>Z_R>@+JV^81*!(%\ ()R!4J_UQ*L.T>AH%H73JU($8D\\!2DL*/INDO\
M5D\6!!SZY.3CRB","Y,@F+5%@VAK?XH/?M@XLK]CK%&"G=^F4&BCLA'$U1\@
MKAQQA#1K.W>:(284N5>?]S"U66TV:ENT3%4VY2SI@$(((MYK RG-V4M&CAV.
MKO[R/PI80*.M8-FM2$2^!&*;D?'7[+UEUO$WW)>*B/;Z!8O".)C%(V]D$063
M^;RS4?M@',S&(_]N$7:V.XW.NB?1#!/'_FTXBQJ6WOKZ\WB()T$<A?Y(- K&
MXT4W\C5@2!$1^)<J/30@3/IQM]KP![*,H .@5X(2<#+X3Y],4?GH)E317K;\
M+JJFU+&S"L4DP)A4K;L,0K\O9P/("ZNEEJW6]5P@9VNETJW,*/RR%_%%B/-9
MEK6A17#8NTF#CBF$13H-';H"R3UP!^P;G['[?8T1@Z@ B"K"QX:B42+D WFO
M#;2HBV5JZ2GLJIME?0BVCPCWI0L;FDZLH'8.J)^WDW&B%5I;Q+:QL2UK*9+0
M7@Z:/FH(3J8S,.J1MBZUJG#<^'AO:!O*SVX)_LW?!K[/_7]OCSG^4?;0>,_!
MM/UO';SU(H>J-F,!-Y,PF(\B7,1!&/F@G@23T ?89!Z,@-);!&YRXZX^2!35
MA>2IIZ.SP?Y@%O%B,!P%XVDT&(V#2;P8DI@$X2)N<FN3GSHZ"X2B?LED,MPJ
M#A:S(UN-@AB3[P5 T^1WGN8X@=E41461>*2T!AT1&$['7KA"M%OTX2J>3X<L
M0^AP*/0X6,S##EB]"AN//)P_#Z+1T,KQ=+C?:10OAKJ?!_$L1@F"@@#9NMDE
M0.%=^0MG_<+S 8GAB%O1U#6G&6QR]O'RQG,C,#6-O7M?G!<'@M#LT6+H$?\O
M$!P/5A $/PHY<MIP0A?!W'/-%TB1BWB^IQM@\$]##HDP&L^.06YV#!WQY(BG
M3H/Y='$<<NT_>)O,!Z/'S!4'T]EPYB*8PKL_!X =VE%1#/$1>:5)S\%H/M0(
MG"N<?#H<9],CA&=#,,:+8;B)@M$H[*%XZK8X:V7<!V4'M?ED*/00D</=3N?C
MLT\^>OAH&^]YW\Q'9KS8J[:"<=1[/WGB$T[JE0VIF^'R>7.3\26=Q6AJP%22
MU"B*DET[X)I"@K3&4-);LBM[L$LR5:=['3C7K> )*@PC;?9OB0@4)SCUN3X\
MN5E.?8(_FO(,WO9 I_:*>O5[_11WM*EI\ZX/9GL1=5EF]BBC!0I!:@V=KKDL
MSAA%0^94O.7:MD=MAPM3R0A4,[I2$2+JYJ!+7'G+;5VE:VD/5XT.^Z*JT5J'
M#'NTI],/#%HWA5/3*'*=T89ME*PXY/9-Q+;"^SCV//N5?*<5"DZ:;OM+(FT8
M[+N#MNM@NTV09*D*%'=-QQ([)Q_.Z1U&NG=DO.K[69B8/J!6E,;>@)?4]J%0
M$U*#R>SMW')X18VD7E(JO6V(]N<:M:JVI*8403A3M@+M" 3]8U,OZ<A8-N;W
M6V=MNYL*<RHB5VU_P4-5 @,@4)(9A6^U ]TJR+@1O!?APH;Q=VV'IE#%.978
MO1&V&PF)6E/0VZ[,GF)]UP[V_-J5Z;;#81WTJ 9Z[WK*."T+%S;^?@:''R?<
MY472H#T04](]MTV-9\\NSJUL%E[NV%JHM>;EQO8^UQ94J0!TH7GJ)%@&ZI*B
M0H.![N25JAQG_DR<4?-1V_[!"FY.9XJ_^TCP;2/RD3KC<&HO>Y=FZ A@Q=]O
M.'KEQ#R8+V9^U)ZAX(B;SJ67'/W3/ J">'K0K?0>CN.I/Q4';CJ._23(T3-2
MTY'<&TV/5+%!.%JPGVF904ZC[F\B2YZ1VUC0?%/3P9%3&*\11:4G&2B.?(:C
M:.Z*+%_XYK@R**;:@1]4L3[/@,>N+<-M6^!3#LC''<YZ#SFYEN1MH/7W]W/V
M6/MTSXA"%%^C_8%H/JP.GW%<E\U:VWQ<M@.GFP:Q5T#@#C[RA-/-YOW$>3CU
M^_)]V1E,PZEW-QG%KF7OEX#3F7<73Z*^F]\S$O?5U 0EH^OI]ZQX+(_:SO]
MU.&Q8-P< MHJP"O5I[/0OYV$1WPY'J-2]<V%T^O4J\>&OMQVB2BZU$63&6P@
M=%U*.*=MP)R[!DP'@;SMA*)B>#'VNDJ$ PS$_< GHX5*&E,*^P5$MKM@/Q>B
M?S/6=$']UY3]NQE>(L$^RAPWB O3Z$L7\L=?/O6*Q_5<]=&4XOKDS_3!CO'Z
MDVK"4<=PTRT6MI,.W'Q)+Q-RY=K$!_OW;Q1,UX>[8-_6VI+LV:174)13[2N3
MKD@[W&KJQ!^-_CGQ;XX8.3@P2S1[DI]& ./U"MF6DUZ$$[K%PZD?_]O(?^:K
M @Q.HL_?2'D^UXIUQ%$/))O^0Y)-_X)DU5;Y=?V?==C^_<O>%I^.[HMC'Y=<
M>M\$@8>U_?+)N'3A/@_J1KN/JV[<-T7]=/=E%GA8R\*P3*RP-+R834Y<Z&IO
M*E7:+XR6JH+ ]I*J:Z%I IZOE*K:&]J@^^3L^K]02P,$%     @ (8ZH6O-9
MYAG\ P  1@H  !D   !X;"]W;W)K<VAE971S+W-H965T,3<N>&ULK59M;]LV
M$/XK![4H-D"U7BS'3F(;B-L-RX>N0=.MGVGI;'&12(VDHN3?[TB]6$9BKUCW
MQ28IWG//W3U'<ME(]:!S1 -/92'TRLN-J:Z"0*<YEDQ/9(6"ONRD*IFAJ=H'
MNE+(,F=4%D$<AA=!R;CPUDNW=J?62UF;@@N\4Z#KLF3J>8.%;%9>Y/4+7_@^
M-W8A6"\KML=[-']4=XIFP8"2\1*%YE* PMW*NXFN-HG=[S;\R;'1HS'82+92
M/MC);;;R0DL("TR-16#T]X@?L"@L$-'XN\/T!I?6<#SNT7]UL5,L6Z;Q@RR^
M\<SD*V_A088[5A?FBVQ^PRZ>F<5+9:'=+S3MWFCN05IK(\O.F!B47+3_[*G+
MP\A@$9XPB#N#V/%N'3F6'YEAZZ62#2B[F]#LP(7JK(D<%[8H]T;15TYV9GTK
M4EDBW*&"^YPI7 :&4.VW(.T0-BU"? )A"I^D,+F&7T2&V;%]0&P&2G%/:1.?
M!?S$U 2FD0]Q&,_.X$V'$*<.;_H#(;8(R>L(MC&N=,527'FD?(WJ$;WUNS?1
M17A]AE\R\$O.H7\7O_,(432!=V\6<3B]AJ\Y0LJ*M"Z8D[W<@:&EC!>UU3_@
M;D<-89>I1;5A(N-B#[*RFS5P#3J7C0 NG)EAVP)A:WL7?G)KLM9DHW^^&CS^
M7__49<[GUUPA'HGJQ5:22)H[C?0K5BOV)X'?Z23C;4J9,8IOZS8((^%6")E1
ME] @G0"% ??U5O.,,\51#UAO8>[/%_/1_')Q"=]<@Q,9]HB*SBL@%R4E6-N:
MZ:-L]H9$,)DF!XX+?SZ;PL?O*\4 XL^B^6B6+"[@)ON+C@;B0J?RH;1$J*)@
M7=F'_8E_.8L.T]B/IY?#=,,T3_ML521 %XQ508M%'FIM2=FZ-%T"WO<)$'6Y
M)1OB?SH56:UZ^V>TC>VB)]RS3K?/-*:#/\/!FI?4@*:7<R4-"L-906:Z9B+%
M%S3\$75#]Y6NU3/0>9H^0(FDX\P'*?XML)<133J=2HV@,:7PC-6.R9D!&X:0
MQG(G),.M[+@@X3%("Z;UF*,EXCOWMAAQ>&T:^=[M<O/HNF/9V5!>;#"O9:W6
MF$W@<R<;\E;5U!UT4\%T,J<[HRCXJ#;'#)R 7(9<TY5MTZ%KND.3N>9JD-R-
M2VO[A_@4=>;*Z6#&$B17V8EBGZ#KAV'XHT23ET3I!'!E^8]DZ?A+&279V> 3
MJI33I%*\%9U=[7NV81KVI#6#EBQKW?2JHD?/ YU-1X9'BIV\=ID$H[N]1+5W
M+QC;*K4P[34_K Z/I)OV;7#8WKZP*$][3BP+W)%I.)G//%#MJZ6=&%FYE\)6
M&GIWN&%.#SU4=@-]WTEJNVYB'0Q/Q_4_4$L#!!0    ( "&.J%KJV:5KYP8
M -$2   9    >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;+58^V_;-A#^5PBO
M&!(@\T-.^LH#:-(6*[!'T+3=S[1TMKA0I$92<;._?M^1DBPGCKL-*!#$HL2[
M^^[CO:2SM76WOB0*XFNEC3\?E2'4KR<3GY=423^V-1D\65I7R8"E6TU\[4@6
M4:C2DVPZ?3ZII#*CB[-X[]I=G-DF:&7HV@G?5)5T]Y>D[?I\-!MU-SZJ51GX
MQN3BK)8KNJ'PN;YV6$UZ+86JR'AEC7"T/!^]F;V^/.;]<<,716L_N!;LR<+:
M6UY\*,Y'4P9$FO+ &B1^[NB*M&9%@/%7JW/4FV3!X76G_7WT';XLI*<KJ_]0
M12C/1R]'HJ"E;'3X:-<_4^O/">O+K?;QOUBGO;/Y2.2-#[9JA8&@4B;]RJ\M
M#P.!E],G!+)6((NXDZ&(\JT,\N+,V;5PO!O:^"*Z&J4!3AD^E)O@\%1!+ER\
M):?N)#/CSR8!"OGV)&^%+Y-P]H3P7/QJ32B]>&<**K;E)P#2H\DZ-)?97H6_
M2C<6\]F1R*;9R1Y]\]Z[>=0W_W_>)>'CW<*<#J]]+7,Z'R'>/;D[&EW\^,/L
M^?1T#[3C'MKQ/NW?@K9?>):-Q:>2Q)6M:FGN16Y-T>3!"RFT="L2M74QZ.U2
M*-Q&#CO)-[Q0!G^!G(EKJ1%,[I:"/Q+K4N4ELG/Q)[$J%42P FF/P#8(1>?(
MY/=BJ6&H2<H2B,KZ(#PVJ:7*I0F/9>AK;7T##H7-<1.6B#/ZCDQ#0II"2.]M
MKF0@7.:Y;0SL.\H)#"TTMCB"BYHS&3O@@36TT<X*8 &% @8 >46&O2412ADV
M9J!#F2@454AC0TFN5[--J *5VMN.#5:[1HV"X%++5$Y@-6E8V3O0B4(5P*4I
M9,*8HT0RH+@OT6]6&YQ \,8K"9+86Z=P"ZPX!KU!44H?UY7\TSH5[A\?YQ;J
M'W]XF<U>G'I1.\45]@%:^IJ7TL")2$YW)B (>Q)SM;QWH/FH=:Q= J(/^QQA
MB->ETJJN$:>(I ^F4/)(W#@E?I'F5D;9#]Y)TF,\%+(H%,,Z LFAM,VJ3$$$
M]\(.=[HCQ*$49"RJ8,NQ^#R^&8L"&*6#6;D5A8,4"#8@T%LU?H>>*VEDP:?1
MZ[K&L13B!HFBV5UVX%WC[%.$6ZWR&#5@D3B]8*'+;QCPP34Q0)"HP4E.K[4*
MI<#&RJ<XS2UB1A74/H 1 (#U^Y;M=%@+XF5)Q0K D6?P&4>B;,%N-C6;GV4@
MDZOR&!&& ,[+HYVL[@3H8Y[PX<94@[H%B1*=32.+ETN*/70LT!"?DH_.L)*"
M^#123H.]OQJIU1+9ZD4N?8DZ@GH9'?$)'Z05YWF*41S*4BHG[J3&R;>!P=O9
M_P&A*A8*ZXJ$MLUIN.JHY-$AHL.:Q(&VWA^.Q><:0>$I!$U10]+M:7,V"<\&
M"*\&8'I[7(B^9:\%J%'A$)@))$EGX$9**>S6#6L#,;5T$4\!(E!T-MD6,_#?
MT8ZRMD6][TF.C6(7NT,.DVG-M6. \UO0MFIGG!0U5!0V[X)*ZU1GN&:5JO8(
MJ[ F=(''1YIH:4-<!:H8.O(%@QO_<OUSRM]RK45%3D<8BS13PJ)0!-=7$4A*
MHB!O^[01>&J\S!^73^!%<6#^2JN14 [$^(8&C/NH$@H*5E<W#EE)G&> -MPE
M78H2%*._^0P"AQ#H'G#.0 =1P8,E3*98VW#1)RO&SR9V &XO"74J:H";VKBL
MN)%$@)B]?8 !!CF$M2LLT-:\>#9[,4;54%IWO>)9EHU/-G<\'SV&,\P'W706
MM[U%CZX6R(#V[O$1_/9U.@S=]M0E:JI=,Y@0NWD<IE+,TH,D?R*X^QSAVM@F
M)(\\W($*OO*HOZGQ+J26)B<1)V+_'Y"+@ZC8-AZ/_>%KP=Q/YZ??[?>R17H3
MW[U^L7GJU-WC]TS,ETC,MS1MW.ON;'GW<'OD(+K\=F]P/$C+[\?(^T<SIG5K
MZ8I!MWR3YZZAP9S7R3X3LY/Y8'7\ZE6_XN!+38N#X/$D^\C*-@</VU27GD]$
M'E(N4(I76!M,W+%F<,*6CJCMS>AV',\[ C,>S)HG0>G;U/'?+3;?M] ^16C#
ME[D]P;6)G]\0N"N\^'>];E#S<//WJP_B8'8X/*IL-E@=S.:'4<4!ZS@4K&.[
M5RZ=K?B%H*D:'3EFE7A[L7V/S0Z?C(2#;':X0;@-K1.?#\5_VGE]T&K9-Y?T
MDU$_= Z<B'CWS0EL*9N>PK=X-3O%D,*.O=NGM:V$3TT*[-FG^#X10\DP8X]0
M;D(SS9"^*\U4C'>]X4X&GQDJPFLF?TSQZ0TF?7'H[_;?:]ZDSQ2;[>EC#Z(*
M]<4+34N(3L<O3D;HZO$#2EH$6\>/%@L;@JWB94D2_8$WX/G2VM MV$#_%>OB
M'U!+ P04    "  ACJA:X/MPO34%  "F#   &0   'AL+W=O<FMS:&5E=',O
M<VAE970Q.2YX;6R=5VUOVS80_BL'+RL<P)-EV6F#)C'@9,W6(EV#9%L_T])9
M8DN1*DDYR7[][DA9=M+$'?;%YLO=/??.T^F=L5]=A>CAOE;:G0TJ[YNWX['+
M*ZR%2TR#FFY6QM;"T]:68]=8%$5@JM4X2]/7XUI(/9B?AK-K.S\UK5=2X[4%
MU]:UL _GJ,S=V6 RV!S<R++R?#">GS:BQ%OT?S77EG;C7DHA:]1.&@T65V>#
MQ>3M^8SI \'?$N_<SAK8DJ4Q7WGSOC@;I*P0*LP]2Q#TM\8+5(H%D1K?.IF#
M'I(9=]<;Z9?!=K)E*1Q>&/59%KXZ&QP/H,"5:)6_,7>_8V?/$<O+C7+A%^XB
M+1U#WCIOZHZ9-*BECO_BOO/##L-Q^@)#UC%D0>\(%+3\57@Q/[7F#BQ3DS1>
M!%,#-RDG-0?EUENZE<3GYU>T![.""XN%]*=C3S+Y9IQW_.>1/WN!?PH?C?:5
M@W>ZP.(Q_YATZ17*-@J=9WL%?A0V@>ED!%F:'>V1-^T-G 9YT_]M8.2?/<_/
M1?'6-2+'LP%EO4.[QL'\U4^3U^G)'NUFO7:S?=+_@W;[^2?3!#YI6#16*I@%
MITU'X"N$"U,W0C\ :H\D'*3V!D0'!(O2(E)M>1@R\:N?CK,L/7EZ&8XG)X>4
MD[Z"SU0Z#BZ%+0V<"_UU!'\(KBRA8.&<R678C4 X4$C98&FI"WBOM2DH-6F1
M)Z/M]O:!%G@_@JNKBYWCPN2_H9;Q/ A8E%))_P#7-W!K5,L@+EXZR,TO2V/)
MZ6A=\,2'5CU -MEX8HM&@9,YNBC6R5*33P1\,)(UW?$'>>D+'48?/G46(8I=
MS.C\MJ0ZA:. .=OK?8>Y(8L$"2LV:,\"#;TID6YL=/US-!&HB]R")1+.2Q%,
MX$\B?HD*&FO6LD 'U.6CFBUK;7%MU%KJ$E27IWGDW$V:FYZH$WLI\A"P/GO:
MANT4U()KTQ(:?FLI9SK3%3HJ*I;-N^A8%L:M-H3_8)HF*;4^I;B+[R)_%/>R
M;NL.MX=CIMX@7PD*&YQW :/6^4!F?6N1(D8:24T6,5*GS5YC)F].'#P&9;V#
M>2-8MAZT"2'%^QS)?0='.YJ/Z-U;?J&W: ,E&E:2'-&9?A5J)@;JQVH\<92D
M4A J;Y7P!&QB^M(-G9/XH3R$XZ.?>8E*EG*I"#[/.1@.AB;D&3E*;V\I#^@]
MTULJ=FJKEV0+UTUW>CB"1K4D0A+ XV .!4&F+T#&H%C\7F+ &2X/81IYA5+?
M\V]1GX=]8NE36T8!(-L#$+7(#^%@MAM >GX#[/H0<K2>)AZ(ONO>A<@GBB_4
M#KBLJ",M@O_I3<NK_E'C3*#MDPANPL=)'@J$O<(I0NE&0:6N=I!-DME&FY@G
MWQ4RM1?6B]O42FJAJ2DK.EPCK7WT.V>_M*$TL*\+<@J/2,SOC))%2*.0/R/.
M5Y[N@KTL]IZN\HJ> 0R2+<UN8%EQ-I4K@,,1\VF23%+FGR1IFL [*HLF-%%'
MTR:%A3K;"YUVM'6/HRPI0H+NJ0M8HK#<9:G;<F5SS9-.^+C7%$*2'YVL&PKV
MILFQ"9IGMXW'2'I@'79M!FX_7=Y WUY"[F5)1EG6!:'K]84L@OGT0BGY#_Y
MX:*U?,Q$OB*KH8YS5.S0CS,&J"OOT%,C<=S"N'&CE:9@":8MXSNQ(OE$R"&,
MK85ZP TVY.WDN8%EO#,[UDA!O0C/?"B$.$;VI_T0OHBSYY8\3O"D=,FYIW!%
MK&GRAF9>&Z?BN/&F"9/HTGB::\.RH@\)M$Q ]RMC_&;# /VGR?Q?4$L#!!0
M   ( "&.J%JB?F&G2@(  )X%   9    >&PO=V]R:W-H965T<R]S:&5E=#(P
M+GAM;*U4;6_:,!#^*U963:VTX9"$E[(0J<"F55HG5-;MLTD.8C6Q,]LA[;^?
M7T)&.T#3M"_$=[[GN7L.W\4-%X\R!U#HJ2R8G'JY4M4$8YGF4!+9XQ4P?;/A
MHB1*FV*+926 9!94%CCP_2$N"65>$EO?4B0QKU5!&2P%DG59$O$\@X(W4Z_O
M[1WW=)LKX\!)7)$MK$ ]5$NA+=RQ9+0$)BEG2,!FZMWT)_/(Q-N [Q0:>7!&
M1LF:\T=CW&93SS<%00&I,@Q$?W8PAZ(P1+J,GRVGUZ4TP,/SGOV3U:ZUK(F$
M.2]^T$SE4V_LH0PVI"[4/6\^0ZMG8/A27DC[BQH7.QAX**VEXF4+UA64E+DO
M>6K[< #HGP($+2!X#8A. ,(6$%JAKC(K:T$426+!&R1,M&8S!]L;B]9J*#/_
MXDH)?4LU3B5+\HQV$BU!V!?!4D +*M."RUH >H\>5@MT>7&%+A!EZ%O.:TE8
M)F.L=&[#@-,VS\SE"4[D"=$=9RJ7Z"/+('N)Q[KFKO!@7_@L.$MX1T0/A?UW
M*/"#P9%ZYG\/C\Z4$W9]#"U?^"]]/-8N1Q<=IS.S.Y$526'JZ>&4(';@)6_?
M](?^AV-:_Q/9"^51ISPZQYY\U:OFEJ6\!'3YA4MY=4RMHQA:"K-8=LEH-![%
M>'>HXL^@Z_%U%^.*PP=/O02QM1M HI373+G'TWG=DIGI)6.'\95?+Y\;.W/X
M-XW;7/II;"F3J("-IO1[(SVZPFT#9RA>V8%:<Z7'TQYSO4!!F !]O^%<[0V3
MH%O)R2]02P,$%     @ (8ZH6A.MA^M$ @  B@8  !D   !X;"]W;W)K<VAE
M971S+W-H965T,C$N>&ULG95=;YLP%$#_BL6D/;6%0#ZV#)"2;M/RT"E*N^W9
MP1>P:FQFF]#^^]F&L&Q*J)278)M[C\]UY$O<"OFL2@"-7BK&5>*56M=+WU=9
M"156=Z(&;M[D0E98FZDL?%5+P,0E5<P/@V#N5YAR+XW=VE:FL6@THQRV$JFF
MJK!\70,3;>)-O./"CA:EM@M^&M>X@$?0/^JM-#-_H!!: 5=4<"0A3[S59+E>
MV'@7\)-"JT[&R%:R%^+93C8D\0(K! PR;0G8/ YP#XQ9D-'XW3.]84N;>#H^
MTK^ZVDTM>ZS@7K!?E.@R\3YXB$".&Z9WHOT&?3TSR\L$4^X7M5UL]-%#6:.T
MJ/ID8U!1WCWQ2W\.)PF&<SXA[!-"Y]UMY"P_8XW36(H621MM:';@2G791HYR
M^Z<\:FG>4I.GTXTY7@(2/4E,*"_02DK,"S#'KE7L:[.#C?.SGK;N:.$%6H0>
M!->E0E\X ?)OOF_,!KWPJ+<.1X$/6-ZA:'*#PB"<C?"BH=S(\:(+O'-EWJ#]
M*]IP0@^4-)B=J[J#3L]#[;U9JAIGD'CF8BB0!_#2]^\F\^#3B/)T4)Z.T=-=
MPP!-@OWL=G*JC59$U/K_0^YTQX$Y9@I&Q&:#V&R4\UWPVRODQJ%OR<T'N?E5
MI_8$TMPB?,%MG/F6VV)P6UQ]<.-^X]R+?OY)?ZA %JX+*I2)ANNN50RK0Z-=
M=?WE;WC7I<V%+"A7B$%N4H.[A?D[9=?YNHD6M>LV>Z%-[W+#TGPL0-H \SX7
M0A\G=H/A\Y/^ 5!+ P04    "  ACJA:2IF(O<<0  #D-   &0   'AL+W=O
M<FMS:&5E=',O<VAE970R,BYX;6S56VMO&[L1_2N$&Q0Q(,F2[#A.G!APG+1-
MBWN1QDF+?J1V*8G-:JF07-OJK^^9X6-7#V^3W+1 OR3>79(SG.>9(?7JWM@O
M;JF4%P^KJG:OCY;>KU^>G+ABJ5;2C<Q:U?@R-W8E/1[MXL2MK9(E3UI5)]/Q
M^/QD)75]=/6*WWVP5Z],XRM=JP]6N&:UDG;S1E7F_O71Y"B]^*@72T\O3JY>
MK>5"W2K_>?W!XNDDKU+JE:J=-K6P:O[ZZ'KR\LWD&4W@$7_3ZMYU_A:TE9DQ
M7^CA??GZ:$P<J4H5GI:0^.].W:BJHI7 Q]>XZ%&F21.[?Z?5_\";QV9FTJD;
M4_U=EW[Y^NCB2)1J+IO*?S3W?U)Q0\Q@82K'_XK[,/8<@XO&>;.*D\'!2M?A
M?_D0!=&9<#%^9,(T3I@RWX$0<_E6>GGURII[86DT5J,_>*L\&\SIFK1RZRV^
M:LSS5[=!&\+,Q:U>U'JN"UE[<5T4IJF]KA?B@ZETH943LB[%.^<U1(&GI^G]
M\:L3#T9HN9,B$GT3B$X?(7HJ?C&U7SKQKBY5N3W_!!O(NYBF7;R9]B[XB[0C
M<3H9B.EX^JQGO=,LE5->[_0G2^60* *EL\.4R.E>NK4LU.LC>)53]DX=7?W^
M=Y/S\67//L[R/L[Z5K]Z(YUVM(L/M';M)7G"(29_8!EQHZR'VPM=A^# 3@9I
MU,8K46I75,8UF( 7^%Q5&XPLJ@8:QQ_"6%BZ7XJYKF5=:%D)AW45'-X[ 5&L
MI0T#)81N2XQ18<)"U<KR<OBBUAZC9*N7M041O:Y %G/]4HG/M:8QMY[-%INX
M7BD+?8JGO__=Q70ZOOP\NAV)/UY??^#GR>6Q6,H[)69*U:(PL-#:83[X-2OM
M::FY-2M:VJG.=_SE8!.EY!$'-]58UY 9><.,V::*]F/5HJE8@,P@?;Q516.U
MSQ;V4"QEO5#BQJQ6VG%,?$KCXAYNW]UD[C%^$*4&B52;P0_PZI:FJ4K(0%"H
M)U%BSC^;.H12U@-1_\\+)8-P--XJ;+UK!+0&=K26]8;8GSR_=.*ZKANL\5&M
MC?4"U"CZBLEX^!<!.^,I&R6M4!0[Q%M5J-5,V>3]9R,H''*%((G@O<;&B7[)
M4MBRE.3!C0O,!*.C3]\O+Q@KK^_D"D1HLP8KE,H55L_:O49)F&\4WC?MMR=,
M/,MAXEFO?W]HG0;F=Y/Y>B18]"YV.*+U4! ]&SC/&SCOW<!G"!OK]L;AWA4.
M<[V[;!^KSS.KSWM9Q=X+*->&O9,P$.>T%Q^U^W*([1]?30Q[V+W([%[T$H@I
MS\$?"Z7OY*Q2A[C\[D7$WRFT4(Q"B! (Y^:>0SR9?!'V@/3A5' "%350II=0
M$6 7^6H*QF(N=85T0T(PC8W825EVMY7\$OS3JJ^-IL2REILV0*VMN=..PR]1
MF^FJHJ5E^4\L$H9910&:8H,17Q&?M$<Z<ZXA@Z[AZ!6P):U+EJ,+Y0;I+P'\
M+"L*Y -.BD$0@2I][A 9B4\4HGID@2Q,$+0DFA(\W1'LQ8;=6A4,4CC+(FIY
M/+6),="#G,T=ITXA%[P_,+:AS"[7ZXJ&8V]YQMJ8"J\R.:=7ND(8LF192$86
M>!IY%(HIP/B?FW+11L*5+&.RAI[ FF]#7D5P7$+")$!PGNG9UC1H)@*FDL62
MV6B96(*>H>1="?6P!GD%.0V@:VM!/"D5DB6PSUJ@C:?/,+<:.;P0'H]E1Y1D
M+[1>X5,2AIR8X?"6[$[/5<K-+:L@T,*1&E:/395RXP@M4!(: 3)ZRF;;:BPX
MN99Z/@>9:,"4+Y*9N[Z@_B)[[HM>I_NH[E3=*/(Y PC[6##_[D4H'[,8WNJ%
M]M@;U1WBUE1-D)U3; D#,D^>JUFY-/U?BJT>T%I#7EG\M-A70D9D$ZTK@0S,
M![HI*$E[F,R_VDQ*RC?\=+_4L)/D=VQ_^$B0E!R _"P\L4M13M>!3QKHH&\7
M/,71N( 1%E9Q AZ)M'W647[O.$(D+X3*U!!TAJ0YBPS.AJ7=SKZE>X3''2IS
M_:#*X5QU^("5A4UJPM(>KMB6)'"LY-11WAB]37E+S@AUA*L@ 6BN*YF5@@V6
M'9=$A!@\SO6 U(.( ),U=?P(?]7@ 3M*)G*[J4VI'GZ>3?Q/M7\MHJ@R*-_>
M3G<W)3BZ2[4!@"7U+0*2W .X\PBC">N9N;]GT:4L5')@1F'C,D[<G8]001$I
MSUTC,]$6=PS)-5W!; M\1>4WQ'V_5)Q\$3DMUQJ19!9"*(7XL=S[>!E#-.:V
MW%EJ@P3YID1$D?(RZ"T&:#C*ZK$Q7=H4*E=(X@$8-S-@8^CQ<D= *=-J%V78
M\HHX3_C>7H9$$-(/:32,G1'9D':O%R$G)=T&A4)PG)N"7%L[C1*>$;Y?A\K7
M6BK0#H *LAY5(VLM2?+( [+-O$D_(_'>0Q'.9+J))F1 F=XIL&YI*6 FF"5B
M#<NFJ1$'F &7(O">';1<]MO!#PCU_]!T>NQ@2V[_264[HF01=@2W%R^_-1CM
ML!$ 1U1_)P7M9!?/ Q<6 $/(%<7O"%,H)L5HO#"F=(=:*ITHDZ,3QR&RO=A1
M@11+\+0=DR ;Y5.<FQM"KO0$<^-4^')K+#"9"[5Q\B0@P%FE%V OQG4GJ4)$
M.5,[R5Q 7P#9J] ^2"B*(.@EY.SS6J18I$,1NKU0-P-:ZX*Z*1?7=Z:Z:Q.(
M>E!%TPWM+6X/_0G>_AR[B#S%[ZUR8AN#M*!7L\:Z8'A<??BAF0_7IOBB/"/(
MVM'"G:Z))5Q,^@>5P\.WVB0E2A9LR\!\0A%2( 5T_!PR,K!SR@J92#;#[+W4
M=*MS[B3!1!A#%L$N@N*(X7/,KL&%3(T 816@JHTE M!8':<FS-'*.7+=U AD
MXGH?W8=HFVR">B!@#E5:[L)EZV&[+14YO&9SA(M13X=XL*$[%.Q]*U2VY@K$
MX!H@)N6W1F"S"T[O73[4G:P:+O$3$=@9[X=8]!9%R(ZAB)D"?]VN#SV0Y;:2
M8F7'.C1(SE&$W2;1,FQL8"T9:2>EC*AGXJFL@1NAA'4!BK,=)'3(,;%C-=S/
MTF5K4J0C[HKEBH@8H@48@JP([% PR=4/B9X1X4ZJRV&6"M3$EU\B".56[Y*5
M439M9V(R#>FF4QQU-1"*61=[;XGWO<T&S!TL%)5<0-K>9#L)"JECS@G%== #
MI+DA*R)-I[:"M& U3&3O29NA?/PCDDS(E0(L;RLXZ\$^XDQ6'('Y[";D@.)1
M'<>8'AL03R:C,8'O*K7<\6+2ON >VR_2PB;2F0B/VNL=#E)]CC11;5@?3AT@
MSLT/COU4*>\B)>XM]!L0.\E!$^JK="?C]A!KW%NFHMY0*(K$#6NCV(A/Y(C5
MHQW,W[ <&VT'PA=I3,JRNW"=]@U83]D.IO1'1>F?>D<\^%UCS>B1);5RCRZ:
M=9 6UWL''G^!L914MD(]-T OI<Q=Z@^P)3H143;TN?# 1&B41H LD<FE/6 =
MA]O40<%.;7/#\*=SCH,AVG:6[&P3!6->MWN:I",6J&3WV"6TJPIN%1U21 R\
MG%#"3L)12<@9[)%QZ#'+EV,F _5'3B2^XR" XP;"_:"3]QEQ2K<4<\ CU^:)
ML"L$S7L^.D;5+ZF27Q ZB:<]EE,2I'@G-:L* 37#+>V*4,,C% 8J,0C1GY4.
M3;:DB6V*6W.'A.>W21*T2 U6W['];D=T*]UPM*>8!X014!!"8+-J L48*O'9
MJB55QG<\%7+B7$ Y'*)'GBR^+$U%<"#*7E"[UF^XH< >F=GL8$2QD+IV:27E
M]A+A8?B4L^PWQ.IM8X\+,7+G:N+ OIX2+\>]T:US1#_I#4=OJ224[#/O:^=M
MPYP<C&N]"QT^Y#B\NACV'79,IBWOT_X#"KFF)B&GA;= 816$A] 3>Q<']_!;
M%@3;75 !90"9 QSP.,Y6W8S&&"'W4;1/ T/<U6PC")(475#OCL1?J?$_WW1-
MB$-)V?7+&)W8,KN$84.+@!*+=@LIYX;EVOX"XV+'CI19J.2,$"(':VW+(1?/
M!_:VGX^;W(N"?B4%FR&)-??\<K<['[-@N_.FVNIZ=[A.1#M=J 1"VW8X8U>7
MHC;2/0=F%,ETFNG$2%Q758P,9(L,5XAUNDJ$8;%&=C'2Q'#*D29)':"XEZ<
MW0R@!H%NA1=/SD:GV\#I='3^<X"3B.&.,QO,KU(,*/L9O ?))Y,7H[,=-/=B
M=/';N>KSW_8BS*3W?LI52&?BDWPX?*KZ'=/AF^_K6 ,E>[2*A)-KA#*7F?(A
M%R? 2S)40;E<#/V63A&UHE*LTE\4X7ED".Z3<T5"+2JXC2,V=MJY!ZCQ8=H.
MIDK@"2)/Z.T>NHF7(XA]0B*@ 9K;-4W8*S>TV8THHF20M44FX;S@*+%."B?^
M!S3/88;79JELM*IHY-H0:H?]*2KXR7_@1K.JE76EI,O^'"I>MK"M$\=M)'A8
M1 G/1UP;BOUX%>7Z]D9\,FL49\_/QL/3\7 ZY4^3R67W A61ZEI'O+Z"L. Z
M)V_9,N:-I\-=L,'23N@AU>24MP^(=M/16O=M(6LRD!DC5-21N7,"A3I3,PD"
M,"C&PO69;L,"[#<J'BLC5$ENGQR2IF1@XOML;1\W[UA0:J!$H$J;]NQ,5BTD
M7_"!](MX$XO6#D:0L$EN$<94A@@?&Y'Q4+J;"1];B.]X)=(I$B?X]+,04V^X
M:N^[3?IOJKU-8HZML8,AZ_N60-C*KU(?":5$N GGVHL$;;N5,EY[_8#,H[QC
M@X DVD.>MD],^7H5U)S-1,^[#>(YGX4FVNU1++?8@R4CL2*=C^A>17"=T":+
MZD\=<*_#S;FJ:JVOVY3F?NSN(7BM'GS;O@D&ZME'9G2K-][H92/;,O7$<>QT
MN.](9>(IFY=I'#Z[XY<<0<:GE[_Y_Y;X%LW=8<Q9Y^%LSP9<_OQ$7 S&TXOM
MY\DX/^^**S9DW?;%R9EI?-L ZI9O3W<%>IR30/<D.!1&N:S)0N])+8_J@W?,
MB$FZV-=W/UTEGYBA[DW@'FT=5!"S^2;VT>(1R$PM=,WM8O*VT,E^3#-/Q.G@
MV?14_*K\OM5N'S6G*>>#L_-G>]R\&+PXG>: T3F720.>G@_.Q\^/]R;B_7-Z
MGSM-G6J[VV;L%MYI[N1\O+_>Q?AX5R)4WC\BBRVK!8OG%WU1N+U...F_3TC7
MO&J/./.>;DB56_>FK:D-)9JPEU\1N_X!Z5^7AF[R'@S7_R5:>>< I;\BUG$L
M"#":I/:'Z]LWX887UKS]S%^&X]-!@CD1N]RF/(<T\3$WF&ZV$EP<.A3O8NI\
MJYU<+"B#L^^_[=R5?GK;S#RC)Q 9GHV/!_"_Q@*:2% IF=*=EHFE9\/QY.7N
M>E#V'G>1= =F88%?S2CM2Y1&A=LEL<'"&6=E"$T^T"TO["IE_O9N=[I/%V_%
M-#Z]<#0H\42U3V>+,=1%J)$61<6L%L:F"\\HG-@'NN=QM#YQ6.F5#I!E0)>J
MP; +]TIU#0?TQ@*S*51@9J-"+08"+)D!O!QZH:,R?HH5<GMUG8Y9.SMU^V**
MR)^EJ^;SV,JD&-MPZ(V=-0Q_'L[$ZMBLLT!>7QN4[.$4OQUW$;$=G7FMVB;E
M2+SCTPE)UII.JNFD@JZ@<YKG5D(X?JCR"58"^QKXL? )(-,NXCVWKB;B1;MO
MNHQ\$)^=='YX K"SX)_7\/VVVH??H.2W^2<\U^&'*^WP\/L?A/H%M?$J-<?4
M\>@YW-Z&G]2$!W@%_XQE9CR0%?^Y5!*%!PW ][DQ/CT0@?S#IJM_ U!+ P04
M    "  ACJA:M(;7*&4#  !P"0  &0   'AL+W=O<FMS:&5E=',O<VAE970R
M,RYX;6RM5FUOVS80_BL'M2@2P(ADR7;<U#80IQVV#QV".-T^T]39XDJ1&DG%
M;7_]CI2LR(YC#%N_2#KR7IY[UVRGS5=;(#KX5DIEYU'A7'43QY876#)[I2M4
M=+/1IF2.2+.-;660Y4&HE'&:)).X9$)%BUDXNS>+F:Z=% KO#=BZ+)GYOD2I
M=_-H&.T/'L2V</X@7LPJML45NB_5O2$J[K3DHD1EA59@<#./;H<WR['G#PQ_
M"-S9WC=X3]9:?_7$;_D\2CP@E,B=U\#H]81W**571##^;G5&G4DOV/_>:_\E
M^$Z^K)G%.RW_%+DKYM$T@APWK);N0>]^Q=:? )!K:<,3=@WO=1(!KZW392M,
M"$JAFC?[UL:A)S!]32!M!=* NS$44'YDCBUF1N_ >&[2YC^"JT&:P GED[)R
MAFX%R;G%JDD&Z VLQ%:)C>!,.;CE7-?*";6%>RT%%VB!J1P^62<H%$1=/+*U
M1'LYBQW!\,IBWII<-B;35TQF\%DK5UCXI'+,#^5C@M_YD.Y]6*9G%7YFY@JR
MX0#2)!V?T9=U,<F"ONPGQ^14*!I+H].6?,?=V(IQG$?44A;-$T:+=V^&D^3#
M&3]&G1^C<]H7*^K@O);H':%"16,PIT9Z0E7C*:SGM3T6",[G'-:^E=LV%C\H
M"HZNC@U0KTBFN(^1]0 H2;SHLA0"]Q$YEFLT^],17 A%RG1MZ=I>WL"[-],T
MR3[\[_>S\0.;QVP!68\8$?NA5[:[?@O309).#^EA<B9MXRYMXW^=-J&:N1L&
MV)J&*G#J'4.S#*1@:R&%\V5X<1S]DVUYWNQQ?BNCGT1.RO\SAI!D7QNVUT6\
M8&H;M(:KKDK(1CAPA4&$LID0Z"?$ZP444K1#@YYEHR7!MC^]AAX#H/[(.E->
M)RLJP%PVC@)SC=^X%4KY64*N56B$SH]+J4=G@W&:P>^THU^T61O'(Q63P6@R
M?H'F_>!]EL)#*VF0:\K+CYY#%Y/!)+F^?"%(Y]?^_*XFVXI_!TJ_LC+41#,$
M-8$PP/*_:&71SG;/C4+#[*6^:7)Y'!'T6D['XJ#-".)D>JK-XMX6+-%LPZZW
M$(9VLQ"[T^YWXK;9HL_LS;\()9328T'BAD23JVMJ'=/L]X9PN@H[=:T=;>CP
M6= O$1K/0/<;K=V>\ :ZGZS%/U!+ P04    "  ACJA:(:2BN60#  !5"0
M&0   'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6RM5FUOVS@,_BN$=Q@:(*L=
M.V[:+@F0;+N[?2A0M+WULV+3L399RB2E:?_]47+B.8MK[ [[$IL,^>CAF^CI
M3NEOID2T\%P):69!:>WF.@Q-5F+%S+G:H*1_"J4K9DG4Z]!L-++<.U4BC*/H
M(JP8E\%\ZG6W>CY56RNXQ%L-9EM53+\L4:C=+!@%!\4=7Y?6*<+Y=,/6>(_V
MG\VM)BEL4')>H31<2=!8S(+%Z'J9.GMO\(7CSK3>P46R4NJ;$S[GLR!RA%!@
M9AT"H\<3?D A'!#1^+['#)HCG6/[_8#^IX^=8EDQ@Q^4>.2Y+6?!90 Y%FPK
M[)W:_8W[>#S!3 GC?V%7VZ9Q -G66%7MG8E!Q67]9,_[/+0<+J-7'.*]0^QY
MUP=YEA^99?.I5CO0SIK0W(L/U7L3.2Y=4>ZMIG\Y^=GY(LO45EH#=Y@A?V(K
M@7#VX!YF, TMG>#LPFR/MJS1XE?0$KA1TI8&/LD<\V/_D)@U].(#O67<"WC#
M]#DDHR'$49SVX"5-N(G'2WX]W*XH:Y!Q-XB;DVNS81G. AH$@_H)@_G;-Z.+
MZ'T/Q7%#<=R'/K^GN<NW5 954,_NZ>I>NOV BU,0R!2-E2$='6)+A$()&D\N
MUW#&)6G4UC"9F\$UO'US&4?)^__]I IFI2_A1SJ^6J'VPL]FKKYM80Q_:64,
M=)$_F/WAD,:CM*6(KX:320P+%PV3F0M,0Z8QYQ8$X:%IC,]&PSA*!T=R>C'X
MR7?%A7!I8?E7&D:ZC:PYX7YVD22#4VT:D;:#_Q D7;9'G-/)I*VX'$:CI*>5
MTJ:5TO_02G3]<?L"5%_V>GJZVJO_D$4+V+72,;C3'.?_H+6E1H2JOB_0W1>M
M7O'M0!U8M\*.&6!FWZ3FM[?H@V?2OKEZNKBS<3W+)1,^;&9AA6LNI>L;ROP&
M-5=YJ[Z^T5KRU15U;$XIHC5E("N97A,%JP"?:?<:/#GSW8F&AN!1<XOO5%%0
MKM:TC8UME>*T.=..CIT,@%8=+3))JT=KE-D+6,VD$:Q>H<T0G/B..TBV$D+U
M?2T547HD1U%TD+LF(&RMN@HI46ZA4]+<D-5;K]$VWPR+>E7^,*\_.*BF5"4#
M @MRC<XGU.>Z7N*U8-7&+\Z5LK2&_6M)WSVHG0']7RAE#X([H/F2FO\+4$L#
M!!0    ( "&.J%J>*AU5CP4  /,6   9    >&PO=V]R:W-H965T<R]S:&5E
M=#(U+GAM;,U8;6_;-A#^*X1;= Z@U)(HR5*:&$C2KNN #D&3==A'1J(MK1+I
MDE3=]-?OJ%<J<APW3;H!ABF2QWN_>R0>;[CX)%-*%?I:Y$R>3%*EUD>SF8Q3
M6A#YDJ\I@YTE%P51,!6KF5P+2I+J4)'/7-L.9@7)V&1Q7*U=B,4Q+U6>,7HA
MD"R+@HB;,YKSS<G$F;0+'[)5JO3";'&\)BMZ2=6?ZPL!LUG')<D*RF3&&1)T
M>3(Y=8[. DU?$7S,Z$8:STA;<LWY)SUYEYQ,;*T0S6FL- <"PQ=Z3O-<,P(U
M/C<\)YU(?=!\;KG_6MD.MEP32<]Y_E>6J/1D$DY00I>DS-4'OOF--O;XFE_,
M<UG]HTU#:T]07$K%B^8P:%!DK![)U\8/^QQPFP-NI7<MJ-+R-5%D<2SX!@E-
M#=ST0V5J=1J4RY@.RJ42L)O!.;5XRWFRR?(<$9:@=TP1MLJN<XI.I:1*HND5
M@9D\.)XI$*:/S.*&\5G-V+V#,4;O.5.I1&]80I/A^1DHV6GJMIJ>N3L9OB?B
M)<*.A5S;]7?PPYWEN.*''V3Y-H-K?MYV?KIZCN2:Q/1D N4AJ?A")XL7SYS
M?K5#6Z_3UMO%?7$)U9B4H!Y?HC@%7:E$&4,Q$>(F8RM$"EXRI7=7C5W;+-@M
MXRJE#6_-6NG9W>P1-(2*1J6"4E34P:8ZV A"%:==K-"&2 2_)<^A!4!.5<QY
M*<'Q\N (O7@6NC9^=>]X1G+"8HH.T>^$E=!!4"O@.3Q%48B@3J$*P2NE$)3%
M-T@)PF1.ZOI/_H%R@GZB.HZN;3"]I71+\QRYENV$.T+H=R'T]P[A.2_6A-W\
M HZ)/Y>9 *=E?0J2NOAT8L9DG2F29]^ (J%?H(FNX4GRI=H00;?%>+<2[UC=
MR.N>NB(BT>'5<6Q4^C&%'BO63S7>$>2'CFW"[4O_5G I[Z4Z;].W7?B#JC%1
M6YKMPFD<ET4)R0[A:->NC/R_\^!'DI?0]@HN5/:MICWM:Z79;9-B#!%/';+7
M79(I&J>,YWS5>T979Q@ZQGSJ6O/ /C IC&?'Q>!>C:I40/[7KI%IMN[M@%82
M])DQ=:RY-^_9'?;-PPFU?Q-X28(7J*HVE)XR4M">6^C9/:_0P3VG7FDW1!<0
M-F8XTSSEV=O$0\.B24:@;"$BL4(:_?7KR<A_V/)!P.W5*;;LT+"KTW>TXGD1
MNN)0\OLDP7,46:[OF?$(+<]T(,3 #%?HC"4^U7ANM*X^JR[;UO63V(,#(@O[
M9E9.'=N*;'PP6#)GVH?A?0(.-6I?"+Z"MP\CDRQL][*,]!U0>$V(][;!Q58P
MC//8!C/.#I2E8?-3C[4UO7CL@G+A0%T=A$&?< :- LIF;O\T?>]N?C$MKJ%7
M-9#E_3#'_P"R.L0Q(>K_ $WW0 NTR, VY@ MD3.HR^DPW[W@/G#IJL]RO'$L
M 6Q"/Q@WY:D;C1==/]H#?[J^'HR+;QJZ6X0=CE9P,,:G7OFIY^W#Y'OP"OPX
MTA6"X6QSC3->\]WO1*S #XPY(%;@#YLQ'DRCG]@8GABS'DE\A6GA -@U'OCV
M /BG7H"'J!9ZSL-0S4B6+:@RSC[09IPG.M/<!P ?#O!]ALZ'C<&U<(B?/%CM
M. (_73O10.7(<H8OR5/?#@8J@YD^WO'5&W1?O<'>7[U4JJRHNC\Q6SK]NJ8,
M.H&^41A]=&[[Q-TM\51J6<,O/<N0O2Q5"2'=7X7'^JC]FQ(Q!+-;-PV>%6*L
M%\?]S[,"Z&JP-=^2Q@ZV]=;X37H^]_1&--IP;!M=I510LE0 5N/M,3C=?B?:
MEALSXR(20'!57;=*%.O+H_I.LEOM;G1/ZXO,GKR^#H;XK3(F44Z7<-1^.?<G
M2-17K/5$\75UK7G-%2!N]9A2P#^A"6!_R;EJ)UI =\^]^!=02P,$%     @
M(8ZH6F7%C=Q]!   #PP  !D   !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL
MI5=1;^,V#/XKA&]W2X#5L9VD2=LDP*77VSKLL*)I=\^J3<=&;<F3Y";=KQ\E
M.[:;IKEB>XDEF_SXD2(I9K81\E$EB!JV><;5W$FT+LX' Q4FF#/EB@(Y?8F%
MS)FFK5P/5"&1158ISP:!YYT.<I9R9S&S[V[D8B9*G:4<;R2H,L^9?%YB)C9S
MQW=V+V[3=:+-B\%B5K UKE#?%S>2=H,&)4ISY"H5'"3&<^>S?[X<&WDK\%>*
M&]59@_'D08A'L[F.YHYG"&&&H38(C!Y/>(E99H"(QM\UIM.8-(K=]0[]J_6=
M?'E@"B]%]CV-=#)WI@Y$&+,RT[=B\QO6_EB"H<B4_85-+>LY$)9*B[Q6)@9Y
MRJLGV]9Q>(]"4"L$EG=ER++\PC1;S*38@#32A&86UE6K3>12;@YEI25]34E/
M+ZYY*'*$.[9%!;T[]I"AZL\&FJ"-P""L89853/ &S!"^":X3!5<\PNBE_H H
M-;R"':]E<!3P&Y,N#/U?(/""\1&\8>/GT.(-W^'G(?<J[=%A;5,9YZI@(<X=
M2GV%\@F=Q:</_JEW<83;J.$V.H:^6%&E166&(&+*\U#P,,U29I.6WMR[*Q>4
M9KK40CZ#9!HI1W0"ER(O&'_^60'&,=KL!LVV5N*0B\=)?/HP#;SA!?S?)]4*
MZ(0BG4C$75:\)6RS!>BLP\0>]OYW<_CF9]3"8X2299!6YVG\Q2UU*(70>T".
M<:K[P/1^P +?]>#C[G%EXT7!/?^A.ZNZ>_BG02_OM\2FKM]L3EII;8QUN'$T
M9B"N6=<,6Y@.BN=.FO6=<<N25%9=2.HNE T%H1@Z;41]-^B@M7'Z]?J/NVLH
MI'A*U9Y":]+WW6FS^4XYE8@L2OG:4F]Y#3L6O&9]B[J4'+1HK8"6)4)9'(C,
MN&/VZVMW:)4SCEQ#E)+?$GE(_>BD\1RW8<+X&F%-]XP"QB/(A%*H#ICJ3=RS
M]J2^(.:48RG7A*K:T/?(KU:J%[B3_BN"-G5VA'1*!]C1'O<[(1HWZ\N*9\JA
MY*:8USS]A^R;B-:G3WWV\^H2)B.O8]_OXIUV@M7B/;&LK+H"R^@N912B5G_X
MPAO?<T?MMDEWJ@H1/IZ86RP"RE%3-Q5BHSGRW&G_8$[^254MNP'P#\M=O6I&
MS:<)I=)'&'JF"(_TS7'3-\?O[YLBRTRV;)B,S-ZTH+9!OGT4)I.84B*DAMM)
MDT/]\SB9.S(8"W,P50'110KVKN#&BN5W<IB?B8X_N?@/+(W#%DG;9IM7S1;W
MFJIMHCU*()V(4A&4ZO^X[^T_[[O<NFUJN>.X9)E-R1/XG?&2!CS8V=Z)_P1G
M9V= -S%-CPHM^;"4IK1,_:>B<KH0*GW9XR:G5,4=I8)D)3PCDV\HM%7M4U5<
M[Z+%PE"6G2+VO:;2*QXAW1;4+9@JS8.WS6+4\6XOL*US4^)9[PXE]Z SI.4H
MUW84552&)=?5O-:\;:;=S]60UXI7HS)16)LVF&%,JE1\E)JR&C^KC1:%'?D>
MA*8!TBX3FMA1&@'Z'@NA=QMCH/D/L/@74$L#!!0    ( "&.J%K^%:9G-P0
M "P,   9    >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;*U7;6_;-A#^*X2Z
M%0W@1K(DOR6V@21;L0+K%B39BGVD)=HB2I$:2<7)?OWN2$E6'-L+BGVQR"/O
MN1<^1Y[G6Z6_F8(Q2YY*(<TB**RM+L+09 4KJ3E7%9.PLE:ZI!:F>A.:2C.:
M.Z52A'$4C<.2<ADLYTYVJY=S55O!);O5Q-1E2?7S-1-JNPB&02NXXYO"HB!<
MSBNZ8??,_E'=:IB%'4K.2R8-5Y)HMEX$5\.+ZS'N=QO^Y&QK>F."D:R4^H:3
MS_DBB- A)EAF$8'"YY'=,"$0"-SXN\$,.I.HV!^WZ)]<[!#+BAIVH\17GMMB
M$4P#DK,UK86]4]M?6!//"/$R)8S[)5N_=P(6L]I853;*,"^Y]%_ZU.2AIS"-
MCBC$C4+L_/:&G)<_44N7<ZVV1.-N0,.!"]5I@W-<XJ'<6PVK'/3L\O>*:6JY
MW)!?&01GR(<'NA+,G,U#"_"X*<P:J&L/%1^!2L@7)6UAR,\R9_E+_1#<ZGR+
M6]^NXY. 7Z@^)\EP0.(H'IW 2[I8$X>7O#'60R%ZA/0P E;(A:EHQA8!E(!A
M^I$%R_?OAN/H\H1_:>=?>@I]>0\5E]>"$;4FJO-5H*^$/4$9PE>S3&TD_X?E
MA$NRYI+*C%-!C*660;'8@U&=MOM0,&+QU,D*B[0I4+!AB(4E6JH:</=,XTJF
MX*3!JQQ'1@F>@Q/Y0:] 6[A%J_9C,P3N%H<'<JYR0UQN)>[^X"RIVE"9F[,+
M\O[=-(Z2R__M^ZFQ_%!HQE[P]]568&-6.#JV$J0E_J3D#KSMC@BC$4IN/EJF
MR]?!MMH_ %:Z-WN%8PJEK0?:4T_CW7!"'I2%=.N^>@]Y-.[/QL-V=H*SHXZS
MHS=S5L(;TAP=>:2B/DADP>F*"VZ?#_'TM"WDZ5H)H"C"><8V]CQ3X9*N-4"#
M5*VY=PKE-ZJLJ'S&J(>32W/4)P[YQ2L^)ZHCN-7P<-20W%KFW&18"K!>T6=/
MZRVW!:&N-H#R .3>&F_7[&H'6(]XFN$[B88/Y@JW',T7*%= AO^LOA454'V,
M^#>=&@3><==Q]GNKZB]&-;ER(7F@':MFDPF*=D0;#I)DB*))7Q2[7=-.-!LY
MP:P3C&=84DE$P#6,$AJ--=!_AS%IR>[3TQU$NV$T2,<I7/#&7)#/<%:08]LM
M?A@.HN'TC/QV*/NON; ++QVDZ?AH7FYJ[4H/SP>/OY>6"'SI[H+]]60P@C+V
MX>S9.E&:XZXTQV\NS:WK3H =]!'HM>DST8>-_AF7]);E!&AX^(T\;1:K]+O-
MN4N/"O'&RC6'^;V%4\<5?UF8MQ/\:^/WQ];OG;>]$-(I*?U+<53O151D=I[,
MR(^G;MVPU\&53&]<GVJ(P_#-7"?M6N$KWP'NMOL^&G*QX=* ZVM0C<XG<*EJ
MWYOZB565ZP=7RD)WZ88%M/-,XP987RMEVPD:Z/X@+/\%4$L#!!0    ( "&.
MJ%H;%HS1Q (  .<&   9    >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;*55
M;4_;,!#^*U8V(9 *29/TA=)&HK!IDV!"P+;/;G))+!P[LQT*_WYGIPU!:JNA
M?8E]YWL>/V?GSO.U5$^Z!##DI>)"+[S2F'KF^SHMH:+Z3-8@<"67JJ(&357X
MNE9 ,P>JN!\&P=BO*!->,G>^.Y7,96,X$W"GB&ZJBJK7)7"Y7GA#;^NX9T5I
MK,-/YC4MX ',S_I.H>5W+!FK0&@F!5&0+[S+X6P9VW@7\(O!6O?FQ&:RDO+)
M&M^SA1=80< A-9:!XO ,5\"Y)4(9?S:<7K>E!?;G6_:O+G?,944U7$G^FV6F
M7'A3CV20TX:;>[G^!IM\1I8OE5R[+UFWL7'@D;311E8;,"JHF&A'^K(YAQY@
MN@\0;@"AT]UNY%1>4T.3N9)KHFPTLMF)2]6A41P3]E(>C,)5ACB3W$A1G!I0
M%9$KS@IJCTJ3XT>ZXJ!/YK[!/6RDGV[XEBU?N(<O(K=2F%*3+R*#[#W>1VV=
MP' K<!D>)+REZHQ$PP$)@W!T@"_J$HX<7_21A'?EV=+$NVELK<QT35-8>%@,
M&M0S>,G1I^$XN#@@,NY$QH?8DP>LO:SA0&1.C#24$_ZOL@\3/^XG(U3;[?"\
MT[([<$)%1JXAA6H%:NN-28KQ3!O(G, 22"XYEC<3!3EF CVRT8C4)S-R]&D:
M!M'%?X]ONM[)V2X[L4[;W:9C]%,[Q>I/58-ZZ\TJ9W3%.#.O'<-G,AV$DTG/
MG@S.XQ&Y9:F26N8&,2FB <MC>-*%1;CE=A['X5[]T\$X&.[P1M,)N0&M9^2J
M40J$(;54KF'AT>Z^J"UX.!@%HYXUCB/27O /*4X_3&<3#L['/7L\F,1OV6'6
MNWYMO]=\*E"%:[$:?Y%&F+8/==ZNBU^VS>LMO'T"\(X+AHHXY @-SB8CCZBV
MK;:&D;5K92MIL#&Z:8DO$2@;@.NYE&9KV VZMRWY"U!+ P04    "  ACJA:
MIS(!9><&  #F'@  &0   'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6S566US
MFS@0_BL:]Z:7S"@8A'C+VTS2IG?M3*^9)&T_*R#;3'GQ"1$G__Y6PF!P,(WS
MTN:^V$AH5\^N]EDMTN$B%S^*&><2W:9)5AR-9E+.]\?C(ISQE!5&/N<9O)GD
M(F42FF(Z+N:"LT@+I<F8F*8[3EF<C8X/==^Y.#[,2YG$&3\7J"C3E(F[4Y[D
MBZ.1-:H[+N+I3*J.\?'AG$WY)9=?Y^<"6N-&2Q2G/"OB/$."3XY&)];^J64J
M 3WB6\P71>L9*5.N\_R':GR,CD:F0L03'DJE@L'?#7_'DT1I AS_+I6.FCF5
M8/NYUOY!&P_&7+."O\N3[W$D9T<C?X0B/F%E(B_RQ=]\:9"C](5Y4NA?M*C&
M.O8(A64A\W0I# C2.*O^V>W2$2T!W]P@0)8"1..N)M(HWS/)C@]%OD!"C09M
MZD&;JJ4!7)RI5;F4 M[&(">/+V4>_D!?YLI%!6)9A"YX(44<2AZAZN77+)8%
MVKEBUPDO=@_'$J95PN-P.<5I-079,(6-/N>9G!7H+(MXU)4? ]P&,ZDQGY)!
MA9^9,)!M841,X@SHLQL?V%J?_40?])E>::;]FA6E]HLY"_G1"#A3<''#1\=O
MWUBN>3" FS:XZ9#VXTN@:%0F'.435"B8>RH^(Q3F*9"V8#KL^:UZYGW8A[5?
MS?A/M0(O$Z:\)',D8?S'+,LC"$-X" U8'LM>^N\\81E&#+P+C(8HT%X&CT@M
MS2<3KMF)/I491YY:6<M%.TKEVS<^(>:!UJ6TZ+9UL*LU],U)+'3V;QG+._2N
MC?BA"& $N/-D+N($656,D34D,$,+":Z0Y%,.@P305\XTK@8Q!M<E2:4^N<.H
MI6L)5(TJ&L,67 ",),E##0T 34 ^7P 'XPRD\[* &8O=?:W%M ^>_ _Y3:.Z
MF@G..VR]-Q2X%\XT^>H>14+U0]'[6("5"'8, 3[/IF!W 9FC'O@'HL1KM7R*
M+B$;JX'*@RR"]!8#[YA>AV6$K<0)I@YM6H%CHJM<LF1SC*YF(MCWK5;;PJ9-
M!PCH- 1T!BG27KX^@@U*/S(YN TV]\62FOL"N+T&M[==4H-X6NW?X.X^P,,J
M&R:BD[KZ4-K7]*(2 EYTJ:O]%LY8-H5 C$JA8I4S( "(JX%2$68O581!$/5Q
M'A6HRBXKGFA^*#V:(PRXK;V6J76X5E71\_%XV__ONF;AT=[)#5!VRC<._*=,
MK\$W8'4M@O90+73!5?6G7/,.'"' GR70LA8]F4X%GT(F:WKJF#R[Y2*,81,Y
MAZB$Y,-%BG;N.!/%+N1R"%4H_4+TC24E1U]*"9DZBW2RD.@3RTJUBK5[;6RY
M#K8"NT5RVW ]Y!HV482W;,@>/K:)B_X2+*L,J,?N=9YK6!':L7P?6XZYV[RU
M#8]V!D/FG/ 8U(W/;N>0_C:K7;-@+3X(#CP/F[3' *N=N0('!]3'GAT\>M&7
M]JEJKA>([X%^T^\"635=PW3;@ CV'!O[MO-H0-\@+RWW8W B#Y?UQ UT_UY/
M_7*:W:?;NHH6[>I7V])OG89K<5'3L>[NT++NW(J>JTW;P;8= %5)9^W(J@ET
M;0<>\;%+36R:P1:LW33B/E5W"."ANZW9 _?!G*7:&A?[I$L5* XA$MO1:4'>
M<2GVJ?EB$3;$:0K9T7$(E#QFV[4&X';:O@>@#G; Y:;U>"X_)]>?Y.&F2G_X
MGE\+].SYS[;7&[\]&;WNY/0"M8%/"29>I_QW#-]%OD%=1003XL;#%$9L41EX
M-B8V:1<&CO>S;-/)-;9!K2WJ \]5F[+3-L(S3 I&=,AAN=CV'$R?L!L_L7P
M9SM6-[_;%'D&#5I]'O8##]NO),^\)N_^/UG[&TJ*@,"NUF&U9E3=] U/D9MB
MSW<Q<4@OM_N>^NN(OJ<>ACOX/L?[1(?KB@"V,V)[FTUSVOR">IBZV&D5Y;^2
M\5!<* >;00>M35MH.\RW8#%\')C>BZ'=KL)XI*\'SCG\YIS#'SR4>/AIS*">
M1Y[&! W*X,5.D8(7P&V9JWL-<_@<:57TB17DZD1I5?6I T.6W?U9H#F4?KUW
M&\/3/%?8WC]AV9C:[ZU _4+G./2^G9FKNYL/+!;+M/HUNUD2Y'ZE5 L!26F
M3:]-7&(:@=]D4?71OV()M0QBU\3;L7P*":%U:$*-(.C-EK:)@_;I"GS]>1V
M:]NT Q\#KM_^BH&93?NU^KZ[!G7K06L!%1.L@.>T3UH<P_-ZM[&EXW^R-P6!
ML_(T%#;!9D^KV:$@<JWN['X?+\>MJ\>4BZF^8"V 5V4FJUO(IK>YQ#VIKBY7
MPZL;8, PA0H )7P"HJ;A.2,DJDO5JB'SN;[(O,ZES%/]..,,J*P&P/M)GLNZ
MH29HKK:/_P-02P,$%     @ (8ZH6NDU%/HB!   ?PT  !D   !X;"]W;W)K
M<VAE971S+W-H965T,S N>&ULS5?;<MLV$/T5#-/)2#.*18*4I3B29FRGF;23
MM)[$39\A<B6B 0$5 "W[[[L +R(56;'3E[Q8N.P>[.[9 X/SG=)?30Y@R7TA
MI%D$N;7;B_'8I#D4S)RI+4C<62M=,(M3O1F;K0:6>:="C&D8GH\+QF6PG/NU
M&[V<J](*+N%&$U,6!=,/5R#4;A%$0;/PB6]RZQ;&R_F6;> SV+^V-QIGXQ8E
MXP5(PY4D&M:+X#*ZN$J<O3?XPF%G.F/B,EDI]=5-?LL60>@" @&I=0@,?^[@
M&H1P0!C&OS5FT![I'+OC!OV=SQUS63$#UTK\S3.;+X)90#)8LU+83VKW'NI\
M)@XO5<+XOV17VX8!24MC55$[8P0%E]4ONZ_K\!0'6CM0'W=UD(_R+;-L.==J
M1[2S1C0W\*EZ;PR.2T?*9ZMQEZ.?75ZK LG,797O@ AE#!G<LI4 ,YR/+1[@
MS,9I#795@=%'P&+R44F;&_*KS"#K^X\QL#8ZVD1W14\"?F3ZC,31B-"03D[@
MQ6VVL<>+GYSML20KC.0XAE/)A=FR%!8!8AG0=Q L7[Z(SL,W)R),V@B34^C+
MSZBZK!1 U)JD&*V2(*UQ,Y:F95$*9B$CRN:@_?X!=TQF*)54,&/XFJ?,=;XA
M:ZV*)_D?J\;I>"^?@#HBS#@!.R6B&9<$#=$.FT0:7,"148)G'F3%!),I$-_2
MZ.HVN:E*L*TO \'9B@MN'PC+_D&-%*Y&(R+Q#D,KR^X!9WAAH20EBDAKD.D#
ML9I)(UAU&;1^OF1ISN0&C MMS;@F=TR4GH(,-+]C[N(XP#\CMSZ'YS/D3;&Q
MT[SM;!\##I+1_R709>VK:W,-\*IP<L2R::XR1X,&XGM6^DJ[&YD,/!VJ-'BR
M&5Z0ER]F-(S?_#2_[VH:KQL:O^=P4S?)A[9)6BA'[9>&VF;UMM,6S5JWJ__T
MI3X\Y7+?0,W2VWVOG#+KWT$?'&E7=<\S2WYGLL1_CJ3IC,;K%S*@<3SLSN/7
MD]X\&LT2VENAHV0:#NL,^LW")<X!>\#)Y-N.ZS=[B_FJ'44TVH_#U^V8QB&Y
M59:)QUOTF6?V\Q[0:=*91:-I?W=$$\SX#P1BA2JQ[/MCD$NK"# MN=QT\*.]
M?S2)C^4ZH5V*#K3;8RCI,T*C X:F!QS243B;#;_;TS^M^+X56U]D77$]+JJ.
M2KHBZBP_1S1)M\!)U)-$$O7YH)/P@*%SQ]DQQ?Q([^Y[:!!UVS2*P^XLP;W'
M15-+=> "&#Y;/;T"T%E7.O$L[$OI//EQZ0RZO=[)F^+QCXGG@*F>-*9]6GJQ
M5E*:G;<KQQY>X\ZCN "]\4]_@[7%U*KW<;O:?EU<5H_JO7GU:8)!;SC^&Q:P
M1M?P;#H)B*Z>^]7$JJU_8J^4Q0>['^;XA03:&>#^6BG;3-P![3?7\C]02P,$
M%     @ (8ZH6J>N;I/<"   8!L  !D   !X;"]W;W)K<VAE971S+W-H965T
M,S$N>&ULS5GKC]LV$O]7"#<HO(5VK?<CV5T@C[877'L79+=WGVF)MHE(HDI*
MZVS_^ILA]: MK[-)$>"^6";%&<[K-YRAKO="?E([QEKRN2IK=;/8M6WS<K52
M^8Y55%V)AM7P9B-D15L8RNU*-9+10A-5Y<IWW7A545XO;J_UW =Y>RVZMN0U
M^R")ZJJ*RL<WK!3[FX6W&"8^\NVNQ8G5[75#M^R.M7\T'R2,5B.7@E>L5ES4
M1++-S>*U]_)-@NOU@O]PME?6?X*:K(7XA(/WQ<W"18%8R?(6.5!X/+"WK"R1
M$8CQ9\]S,6Z)A/;_@?LO6G?094T5>RO*__*BW=TLT@4IV(9V9?M1[/_!>GTB
MY)>+4NE?LC=KHVQ!\DZUHNJ)08**U^9)/_=VL A2]PD"OR?PM=QF(RWE.]K2
MVVLI]D3B:N"&?[2JFAJ$XS4ZY:Z5\)8#77M[Q[9@XA;LVPC9\GI+:%V07-0Y
MS$J*EE-D>4_7)5,7UZL6MD3"5=ZS?V/8^T^P#\COHFYWBOQ<%ZPXI%^!J*.\
M_B#O&_\LP]^IO"*!YQ#?]:,S_()1_T#S"_Z&_J?4-ES#TUP122]50W-VLP"H
M*"8?V.+VQQ^\V'UU1N9PE#D\Q_WV(T/Y>,FU>$1LR&NE6*O(1HJ*#!JU@KP%
MX47)"]H>V]XH<7Z;^QTC%:.JDPSW4#U?:O;BJK<9*P@(T<+B-2TIV(V8;$(5
MB-#2$HTY2C%0JYW8UX0;NA:CBZPQ09"EGA.= C>HBY?DQQ]2WPU>_>TGQ$V^
M&P.'O&,YJ]9,#C/A3^1>"VODF^_[[MW=^/\%\5S?2?S FLD\)TI3<O=8BX)]
M'E^$3A(&]BASR>LMN*Y])$OO8GSC); PM(=NXO4BV5ZT9? CQ_=<>\8+G##,
MQIF?R ?)A20-@T=Q[$!P*2CEC")CW ^B]4L5V=$'] S#!)R70,DW'*2 V*(E
MW]:0K-J=]F'>28G,^[UTU->M#E#'K*H%X15@HAW"Y:V 8?V(TGK)*W48)T /
M>55=:2L-8@VA5^=E5S"R%:+8\[)$55[X5R[DQ[)$1,!911@%?\,+W,D(I0C#
M)'0<"JCW+!Q@7_]BA%*_+PK(58M<<ZIV#MJ$\0>=&QU4N:&\T/P$["I[,GP#
M9ZA$^>$5^[/C#7(%<CPQ@-MEI]CEL!A.% :F+%!+42$XC&LX6+/><MSKZDP.
MB<8<$IT%]Z :K\W!/IC-2*[ M^#IG.H56@X%SF1(<BJ1G-_K_@CC"'XUAN/7
M2T X/-5W2Q7?^KS?2<8.SKOC4#N75(;G ,<AYDT.^,@>6-TQ!2B/7"<-//CC
M.ZYGIZ#(B5P['42I$T!.><<A3"',( 2I/N!RH2"8$5?+X&*V/P@+V6TV[3EA
M[,UF?2?RLSF+R'$SG_PJA5(8_!O>3GPR2)P3213-M_*=+#FQ5>#XL/@.ZK?A
ME*8%%$0 2-0+TA3[#)6J ALA=)>AE5PA-V=3<O73>"XR*.W.E0Z=+'7'-#"9
ML(_(X_6IXP5S+_OQ?+^EYV=SVZ>.G_CD?=TR2']#W#ND9JU-F$R$ES,6\QE#
M\=Y(O"S!)Q> 0T :0]\\<#4 ;THX8,,IC$"HV+?&MCHOCA3!U4$VCXC_%PB&
M,PJ$X!<AAT'K1OC'2:W0? $'>N:G![8!#'XUY.#8]L+D%.224^CPHQ.1&CMI
MG)V&W/ $V:)T-GO*7;X3)_.5F1-#='\+ $>T0_TSQX=G%5*3!$$ZMP@$EQL]
M'XY)?()Q,@>CG\W3C><$@3M!<6FVN!AT/ 3E"+4TFBL]1^1\MV4:CA#]*FR&
M!]&7V,CTLX/:T F]*?HQ$I\(4JO(*<P*4WWT@Y*N01R]U"$BSSLHX?+'80)J
M-TJP<X(3? =3R';#L#K*2]%A"2H?>*['@%%=6N50#RFN3_^!"8-2*N^;&QUF
M%;9F?_7%)$3; ROAB9V]J*JNABI!]VG(M6HZW'S82-.KKFE*CKM*!F7K7Y 5
MEEO*ZPN"V9 8$^^IU'T?L,]1"G0"5KBFL 45)7N@96>DLLAU%2@[WNJ8-#:<
M2L#>:B,RVAT%G<&]X-"N+_.,JPNTU2@V%-BBD_T% )-JJ$>_C#W+?PU]E +*
M8UPN6:GK:B.@J:"-TZN**V7,MQ8UE*+P1UNM%?FG2[SQ*+1=@;U6_A6IJ/S$
MT+>PL'B RA8<B .0!:IR$  J6#!9;_UAYT'"5P"=_:0I-@HZ1=MKE=BT>S13
M 4FX%+I>'ADXTVO5K54N>=.['Q,?T\K0<NCCL8W (M*$X2&J<G  )$IT([.]
M=F1; 3KN&)U4N-)I_+UI0Q1T-O4E-@23$_8[#AH-KL"[L?)1(\H*;><@KDU3
MT?"V#]"3%IBBZRGG#")<Z?S[#1)^D?&9WB,>>X_X?.^1[UC1E?I609I3EJP?
MR9:)K:0-" :S6]CS5*=QGO-X9J-W]=4"%@27%18$9[M $_*Z0C@E"5D6#-(*
M1 50&N-T#6:L'I]C#UN(BN>\9!?0] ((\!)D Q#$?N=[MRN_]"J?J(&.ETZZ
MCT<@MB=:_3]JC@B\PV;+/FK"U$FSQ#Y1$BB&?/*6UK2@UL%MWXM L>+' \M_
M0I( ^U@O0S^VEX89P5;Q7PQ!6**93M0%7GRBPG;<("/_1C(%YVTC(;_QAI88
MTAK0/W?8@E,\8CK(\-S2##@&ML">EYH"T%:^;Z6."[TS6$A&+"3/QD(IZNUE
M"1EGO"9[+BK.[_';C"_5US_/N0@Y#0<=VY@>)$<L *_O?V]W(-KSX]9SH6P-
M#B>\=%Y7GX&5J0.&R/FR;D>0B!W?*KU@!!'\!"22=%J8NC'YL(..I&G GY-*
M@1.[L36* FP9"VYC,(@3:^1''KF3G/Q&ZT^66/Y4AT90;+]7DK)R$L42.2"_
M0O*C]>-,U7E#%?;MTU _64U.G+CV,')/(,T/H<:WW05]?YRYIY"VLKYZ0 [>
MZF\[RCC*?  99\?/1Z_-5Y-IN?GV!%&VY;4B)=L J7N51 MS.S<,6M'H;RAK
MT4+"UW^Q(F 2%\#[C1#M,, -QH]JM_\#4$L#!!0    ( "&.J%KZOQ\2ZP(
M ,@&   9    >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;*U536_;, S]*X0[
M%"T0Q(GM?+5)@*;=L!XZ!$VWGA6;B;7*DB?)3??O1\F)DVYMT,,NEDB1CX\2
M28\W2C^9'-'"2R&DF02YM>5%&)HTQX*9MBI1TLE*Z8)9$O4Z-*5&EGFG0H11
MI],/"\9E,!U[W5Q/QZJR@DN<:S!543#]>X9";29!-]@I[ODZMTX13L<E6^,"
M[?=RKDD*&Y2,%R@-5Q(TKB;!5?=BECA[;_"#X\8<[,%ELE3JR0FWV23H.$(H
M,+4.@='RC-<HA ,B&K^VF$$3TCD>[G?H7WSNE,N2&;Q6XI%G-I\$PP R7+%*
MV'NU^8K;?'H.+U7"^"]L:MND'T!:&:N*K3,Q*+BL5_:RO8<#AV'G'8=HZQ!Y
MWG4@S_*&638=:[4![:P)S6U\JMZ;R''I'F5A-9UR\K/36YFJ F&.&A8YTPAG
M#VPIT)R/0TOPSBA,MU"S&BIZ!RJ&.R5M;N"SS#![[1\2K89;M.,VBXX"WC'=
MAKC;@J@3]8[@Q4VNL<>+/YCK6RG6",G;"*Y#+DS)4IP$U (&]3,&T].3;K]S
M>81?TO!+CJ%/%]1Q6240U J$,@9*8FH<TY:K/)X"DQED7%3V[_NMR1^'?\@1
M4B;22C#?$!3%DLKC46< KE;4*DY-S6LLQ>)R#:ITQ@:X(2IJ(X%+[V9=F<#2
M=36<>9VJ#/F8\PLX/1E&G?CROZW4?S[F0ZX17U79/Z94,VGNBV:G<<7C/@E\
MHQG'ZQI@UFJ^K.HDK();*55&_4.;M.VO>5$M#<\XTQQ-@_4)!JW!<' @CX8C
M>/2M3V38,VJ:9$ A"KI@_W3FU6WN'(E@$B=[CL/6H!?#S<>>H@%I];J# RD9
M]N$J^TE#@[C0O-X_+1$J*5G_[(U]TAKUNGLQ:D7QZ*TJ#@^F2X%Z[6>H(<Q*
MVGK0--IF3%_5TVEO7L]X>ITUIPP$KLBUTQ[T M#UW*P%JTH_JY;*TN3SVYQ^
M-:B= 9VOE+([P05H?E[3/U!+ P04    "  ACJA:KWTLI/ #  "&"P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6RU5FUOVS80_BN$.A0VL%F6;'=M
M8AN(DP8ML&Y!DW6?:>HD$:5(CZ3B=+]^QY,L*YVC],/RQ>;;/7SN^-SIEGMC
MO[H2P+.'2FFWBDKO=V=Q[$0)%7<3LP.-.[FQ%?<XM47L=A9X1D:5BM/I]$U<
M<:FC]9+6;NQZ:6JOI(8;RUQ=5=Q^VX R^U641(>%S[(H?5B(U\L=+^ 6_)^[
M&XNSN$/)9 7:2:.9A7P5721GFT4X3P>^2-B[WI@%3[;&? V3C]DJF@9"H$#X
M@,#Q[QXN0:D A#3^;C&C[LI@V!\?T*_)=_1ERQU<&O67S'RYBMY&+(.<U\I_
M-OL/T/I#!(51CG[9OCT[C9BHG3=5:XP,*JF;?_[0QN%'#-+6("7>S47$\HI[
MOEY:LV<VG$:T,"!7R1K)21T>Y=9;W)5HY]=78.4]#Y%Q;'3'MPK<>!E[1 [[
ML6A1-@U*^@3*C'TRVI>.O=<99(_M8V34T4H/M#;I(. G;B=LEOS,TFFZ&,";
M=6[."&_VO)NGO&N,YZ>-0UZ<N1T7L(I0^ [L/43KUZ^2-]/S 6KSCMI\"'U]
MBWF6U0J8R5G.I67W7-4TRSK23&KG;8W)X!V.A:HQS*@47TK-? E,& R\=KB(
M(V>4S+C'R98KK@4PTL=)SX>YW2%T;A1FKM0%\T$>C$(0>(1[7Y8PXR[ HAA$
MV:F!<9VQ*Q!0;<$>5N=L1,"F=KCMQF?L]:NWZ71V_F+_FY;I+97.WXS@5&4.
MV]<A,%\H,,\A'=T[K#SR[OOC% -RN9^[&3A9:(HA!@T55807Z[W"RT4$JR/6
M/HW5REK0XALJQNZYI9?U%LNN8Q="V!JIP<,N/+KK;']BR6+6F\W?O1M(J467
M4HL?3BG(<_P 4'(]S_-Q% 5W)<M1_!1/9(WO^X1NG<>_1NUX$WXR+<GA9,H-
M<P\I]S]S'LBWIWB'>\C.EQ: 54UUAU#=3Z4CR7$/%@*%IF"X%\O(ZY;:'5'K
M?W@&4NJ8-;]CNA;8K;"1,LZ-L;,0IM#R'S3'Q3\N/[)1,NX+-$UZLU$R&Q/$
M*&",6< ($(H[)W.)(+DU%38;HJYJ13$.D%)[$^J@J8"-TO&3^A^ER?C(\#&U
M@_FL;_[+R?&H11$EUT4HQM\5:M^)+-3JG;%4NWI.$%^#QRSJI<*27X8^C.IZ
M0R+<E$[/T3<:)>?C"3GV?@BUK?^9M"3O1FU8IH1QV%F29RA_5!%)28>(_8?E
M49IH+DWF#A\DR":G2D?<ZXTJL 5U@)@GIM:^:9.ZU:[)O&AZJ^/QID-%56%5
M=4Q!CJ;3R:^8R;;I^IJ)-SOJM+;&8]]&PQ(;9;#A .[GQOC#)%S0M=[K?P%0
M2P,$%     @ (8ZH6IUO"),=!0  IB$  !D   !X;"]W;W)K<VAE971S+W-H
M965T,S0N>&ULS5IM;]LV$/XKA%8,+;!%+W[/; ..U6']$""HE^TS(]$648E4
M2<I.B_WXD90L6;',5!D'^(LMR;R'=\_=D7>FY@?*OO $(0&>LY3PA9,(D=^Z
M+H\2E$%^0W-$Y"];RC(HY"W;N3QG",9:*$O=P//&;@8Q<99S_>R!+>>T$"DF
MZ($!7F099-_N4$H/"\=WC@\^XUTBU -W.<_A#FV0>,P?F+QS:Y089XAP3 E@
M:+MP5OYM&(R4@![Q%T8'?G(-E"E/E'Y1-Y_BA>,IC5"*(J$@H/S:HS5*4X4D
M]?A:@3KUG$KP]/J(_KLV7AKS!#E:T_1O'(MDX4P=$*,M+%+QF1[^0)5!6L&(
MIEQ_@D,UUG- 5'!!LTI8:I!A4G[#YXJ($P&)TRT05 +!2X'A!8%!)3#X48%A
M)3#4S)2F:!Y"*.!RSN@!,#5:HJD+3::6EN9CHOR^$4S^BJ6<6&Y*?P.Z!1N\
M(WB+(T@$6$41+8C 9 <>:(HCC#B ) 8?N<"2;'GW/D0"XI1_ +^"QTT(WK_[
M -X!3,"?"2VX',OGKI *JFG<J%+FKE0FN*#, -Q3(A(./I(8Q6UY5QI66Q<<
MK;L+C(#WD-V @?\+"+Q@U*'/^L?%AQWBH5D\1-$E\98U@]I7 XTWN(C'(X9S
MG2_27W<%EP-XZ9C7_=BX3HT_>K7+2:46PVXMU$)TRW,8H84C5QJ.V!XYRY]_
M\L?>;UT,VP0++8&UV!_6[ ]-Z,LUY(FF+E(7Z&N!]S!%1'126$*--91:>O?+
MT7@T&L_=_2DWQ@G[<G,^Y7 \G4WJ*5M&CVJC1T:C5QEE G^'.N9RQ#"-N\PU
M@_@!R'1>=\6'4;0O!Y; 6E2-:ZK&1BL?&,HAC@%ZEGLRK]*,B@0QN8XS)B,%
M0,Z1X$!2&4D^F-SSY+XG XECS6]$>7<TC<]<ZWN>]R*8C-KU);($&YW.Z)_,
MV")H4A,T,1(D]VFY"Q-)4)1 LD/@_4[6)7(#2:GDI=/PR;D:9W9/NLAICPF-
MBKTQ+J:UV=-7UHT<"YCB[R@&G&[% 3(D*Y.]++ER64")+KN-B'U78)M@H26P
M%I.SFLG95>Q_,YOLVP0++8&UV/>]IE3TS)$LUZ?.HLX[3]/9\"Q1S>A]J>B<
M='IIC?)/ZF'?:.0GN<\Q&JFX4EI %I6[_BL9:T;M&S16T4);:&U&@X;1X"K2
MME+#E@MLHH6VT-HN:!H'WU@97\[<P7G1.#A/7*LU?,><@_'%O&VJ<]]<GM]C
M@K,B _^ MVRX9O#>L6.UL+>%UB:VZ0#\T76DK\U.8&T5+;2%UG9!TUGXYM;B
M2&(,"HZV10I2O$6*=$R$K*3Q4WJ!4C/L 'R3^UMG5V:6[$V?);0V?4W?X9L;
MCWOX_%^6!DO-0T6L3;30%EJ;V*:S\:?7L318[8>LHH6VT-HN:%HBWUCSOWUI
M,,/ZGF%ML-K2V$)K_S_<]#2!N:=9<0R[^#&+]0TYJVBA+;0V94V'%/A7D?6!
MU9;**EIH"ZWM@J:E"HS]0K__HBNLUC]DD_,JWSQE;X+^CX8G:!J>P-SP/!*L
MUL2-4)'628K50PZK:*$MM#9W32<5#*\COZWV7%;10EMH;1<T/5=@/C'IE]^C
M\X9ZUI'?5CLB6V@E0>[) 7:&V$Z_","!#JKRM+=^6KYL<.??KO69_(OG*_]V
MI8_>W0:F?(/A'K(=)ARD:"LAO9N)-("5+P64-X+F^IC\B0I!,WV9(!@CI@;(
MW[>4BN.-FJ!^-6/Y+U!+ P04    "  ACJA:"W9CJV4"   ;!P  &0   'AL
M+W=O<FMS:&5E=',O<VAE970S-2YX;6RM55%/VS 0_BM6AB:0-IPF;8=8&@E(
MI^UA4D7']FR22V/AV)GMM.S?[^R$J$! ?>A+XK/O^WQWGWU.=DH_F K DL=:
M2+,(*FN;2TI-7D'-S+EJ0.)*J73-+)IZ0TVC@14>5 L:A>&<UHS+($W\W$JG
MB6JMX!)6FIBVKIG^=PU"[1;!)'B:N.6;RKH)FB8-V\ :[%VSTFC1@:7@-4C#
ME20:RD5P-;E<QL[?._SFL#-[8^(RN5?JP1D_BD40NH! 0&X= \/?%FY "$>$
M8?SM.8-A2P?<'S^Q?_.Y8R[WS,"-$G]X8:M%<!&0 DK6"GNK=M^ASV?F^'(E
MC/^27>\;!B1OC55U#\8(:BZ[/WOLZ[ 'F$S? $0](#H4$/> ^%# M =,#P7,
M>H!/G7:Y^\)ES+(TT6I'M/-&-C?PU?=HK!>7[IRLK<95CCB;KKOS051)UGPC
M><ES)BVYRG/52LOEAJR4X#D'0Y@LR-)8CNJ@]9ED4(+64.!QV8)L 0433.:X
M=IJ!95R8,_2Z6V?D].2,G! NR:]*M09Y3$(M!N]"H'D?Z'47:/1&H#^9/B?Q
MY!.)PF@V K]Y'YY!/L"G(_#L\-W'X,O#=X^?PRD*-J@6#:I%GB\^LFIC9>]V
MFH[OY-K4I6E8#HL ^Y !O84@_?AA,@^_CHEP3++LF&3+(Y$]DRL>Y(K?8T]?
MWI11'3J*N:=PW7V;7H3114*W^_4=<YJ$SYVRUT[S^?P%T_*U4SQS9W.[GR?=
M:RSNV<!KL.'2$ $EPL+S+]B,=->*.\.JQO>:>V6Q<_EAA:\7:.> ZZ52]LEP
M[6MX#]/_4$L#!!0    ( "&.J%I%M).O#@,  +((   9    >&PO=V]R:W-H
M965T<R]S:&5E=#,V+GAM;*V646_:,!#'OXJ555,KK4U((*0=1"K0:7OHA,JZ
M/9OD(%X3F]D&VGWZG9V004C1)O4%8OON[]]=[+L,MD(^J0Q D^<BYVKH9%JO
M;EQ7)1D45%V)%7!<60A94(U#N7352@)-K5.1N[[GA6Y!&7?B@9V;RG@@UCIG
M'*:2J'514/DR@EQLAT['V4T\L&6FS80;#U9T"3/0CZNIQ)%;JZ2L *Z8X$3"
M8NC<=F[&D;&W!M\9;-7>,S&1S(5X,H,OZ=#Q#!#DD&BC0/%O V/(<R.$&+\J
M3:?>TCCN/^_4/]G8,98Y53 6^0^6ZFSH1 Y)84'7N7X0V\]0Q=,S>HG(E?TE
MV\K6<TBR5EH4E3,2%(R7__2YRL.> ^JT._B5@]]TZ+[B$%0.@0VT)+-A3:BF
M\4"*+9'&&M7,@\V-]<9H&#=O<:8EKC+TT_&L?'M$+,B,+3E;L(1R36Z31*RY
M9GQ)IB)G"0-%*$_)G=(,<X>C2S*!!4@)*;[,#? UD/,):,IR=8&+C[,).3^[
M(&>$<?(M$VN%[FK@:F0V.[M)Q3<J^?Q7^ )R+[C.%+GC*:2'_B[&6@?L[P(>
M^2<%[ZF\(D'G _$]O]?",_YW]^X)G*#.?V#U@C?.?ULFRYVZ[3N9<G"C5C2!
MH8/W78'<@!._?]<)O8]M:7@CL8.D=.ND=$^IQR.:4YX H9KH#,@<EHQSDPO,
MT@HD$VE;^*5F:#5-\=K$D=?Q!NYF/ZQCHZ#G![71 6ZOQNV=Q/V*Q39M7@8\
M]H;]==Q2L[='$G;#7@/WV.CZ.O#;<<,:-SR)^U 12D@$GKC?S6M5XH5'.U^&
MH==O\+59]?>L#@#[-6#_).!XC9GDR0O1DG*54U/OR^,O,*62T/0G%D9L);KU
M&O2/F/!8-KB/;2XCKYTZJJFC_SFT8'!/'=>HY;CZ48/SV"@,PZ@!ZNZ5_P+D
MTG9%16P%*0MC/5LVWA$V7MN@&O/8D&]M'W+_RI3=',L>WD%%<EB@I'?5Q]3)
MLD.6 RU6MLG,A<:691\S_*@ :0QP?2&$W@W,!O5G2OP'4$L#!!0    ( "&.
MJ%KUJOJ@T@(  (T*   9    >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;*V6
M76^;,!2&_XK%JJF5VO)-VBY!:DOV<3&I:M?MVH&3X-5@9CM)]^]G V4A<5$B
MY09L..][?!Z#[?&:\1>1 TCT6M!23*Q<RNK&MD6:0X'%):N@5&_FC!=8JBY?
MV*+B@+-:5%#;<YS(+C IK7A</WO@\9@M)24E/' DED6!^=\[H&P]L5SK[<$C
M6>12/[#C<847\ 3RN7K@JF=W+ADIH!2$E8C#?&+=NC?32,?7 3\)K,5&&^E*
M9HR]Z,ZW;&(Y>D! (97: :O;"NZ!4FVDAO&G];2ZE%JXV7YS_US7KFJ980'W
MC/XBF<PGUI6%,ICC)96/;/T5VGI"[9<R*NHK6C>Q86BA="DD*UJQ&D%!RN:.
M7UL.&P(W>$?@M0)O7X'?"OQ]!4$K"/85A*V@+MUN:J_!)5CB>,S9&G$=K=QT
MHZ9?JQ4O4NKOY$ER]98HG8QOTY0M2RG0(Z1 5GA& 9TF(#&AX@Q=H.>G!)V>
MG*$31$KT(V=+@<M,C&VI<FL'.VWSW#5YO'?R?,?\$OGN.?(<+S3([X?E":2=
M/##(D_VSF^33_;/[?;FM>'?0O0ZZ5_OY^T,W$6U, K.)7D!N1(53F%AJA1#
M5V#%'S^XD?/)Q/>89LDQS:9',NO-A-_-A#_D'G_A3 C4S0<?G(_&*JJM]/J[
MBGTW<-77O-H$O1OE78]&7C\J&1S6H02/9-8C&'0$@T&"MU1M-;A, :E-"Z4<
M,B(1553!N$HT9N$&G0O7<[89&J/":(MAL$/ZPG4<IQ\U-41=7_^?CE[185=T
M>$#1,T)5P +A[+=:L-4F*HVEA[M%1;Z_5;DA*'2V@I+!P1WZ\1S)K,<QZCA&
MPQQW?[QS5((TX8L,_U4X&FWQ,T1=.>XVP,%1'0KP2&8-0'MC*]<'-;5S+4@I
M$(6YLG<N1VJZ>'/X:3J25?7N/F-2G17J9J[.B\!U@'H_9TR^=?2!H3N!QO\
M4$L#!!0    ( "&.J%K0CO\Q  ,  +X(   9    >&PO=V]R:W-H965T<R]S
M:&5E=#,X+GAM;*U644_;,!#^*U:&)I &2=.F+:R-U)9-VP,2@C&>W>32>#AV
M9KLM_/N=G324$B(V[26QG;O/WW<^WV6RE>I!YP"&/!9<Z*F7&U->^+Y.<BBH
M/I,E"/R22550@U.U\G6I@*;.J>!^& 1#OZ!,>/'$K5VK>"+7AC,!UXKH=5%0
M]30'+K=3K^?M%F[8*C=VP8\G)5W!+9B[\EKAS&]04E: T$P*HB";>K/>Q6)L
M[9W!3P9;O3<F5LE2R@<[^9Y.O< 2 @Z)L0@47QM8 .<6"&G\KC&]9DOKN#_>
MH7]UVE'+DFI82'[/4I-/O;%'4LCHFIL;N?T&M9[(XB62:_<DV]HV\$BRUD86
MM3,R*)BHWO2QCL.> ^*T.X2U0WCH,'C#H5\[])W0BIF3=4D-C2=*;HFRUHAF
M!RXVSAO5,&%/\=8H_,K0S\2S))%K832Y@038ABXYD%,RL\%EYHDP##3'DZ8B
M 8(Y0Q(%*3.$2ZU!D^-+,)1Q?8(^=[>7Y/CHA!Q9IQ^Y7&LJ4CWQ#;*T>_E)
MS6A>,0K?8-0G5U*87),O(H7TI;^/ZAJ)X4[B/.P$O*+JC/1[GT@8A%$+G\7[
MW0<==/I-Q/L.K__^B+<%J0(9M(/8NWVA2YK U,/+JT%MP(L_?N@-@\]M"O\3
MV N]@T;OH L]GE/NLH<:LH05$X*)%9$9*4$QF;9)K_"&#L]6H4W<"Z/AQ-_L
M2WIM='X>-C8OF$8-TZB3Z2S%U,;:HDF24[6"E!A)X!$+IFX]HDZTOSVB"BS:
M%QVURQDV<H:=<NX5,W JLTP3NL)ZKLWS76Z3,WS%X#2*#J+>8C-J9SEJ6(XZ
M66(QQE(KL-8I!2)Y(D91H3FMBGSZ"TL@-@W31GCTBLS@@&[GUO^8]^-&V/B]
M>0\B[<[X<4O&!X>Q;S$*@N @^OY>*R@ D]AV2$QH6W*JDMFL5DUXCDW8-:N#
M=6S.,]>3_&>8JK-C0<1KK F'#"&#LQ&>@*JZ934QLG0-9RD-MB\WS/$' Y0U
MP.^9E&8WL1LTORSQ'U!+ P04    "  ACJA:M:[H&( "  #M!0  &0   'AL
M+W=O<FMS:&5E=',O<VAE970S.2YX;6R=5&UOTS 0_BNG,*%-@B5-US!&&FG=
M>!G2I&EC\-E-KHF98Q?;:;9_S]E)0X&L0GR)W^YY_-S%SZ6MT@^F0K3P6 MI
MYD%E[?HL#$U>8<W,L5JCI).5TC6SM-1E:-8:6>%!M0CC*$K"FG$99*G?N]%9
MJAHKN,0;#::I:Z:?%BA4.P\FP7;CEI>5=1MAEJY9B7=H[]<WFE;AP%+P&J7A
M2H+&U3PXGYPM$A?O [YR;,W.'%PF2Z4>W.*JF >1$X0"<^L8& T;O$ A'!')
M^-%S!L.5#K@[W[)_\+E3+DMF\$*);[RPU3PX#:# %6N$O57M)^SSF3F^7 GC
MO]#VL5$ >6.LJGLP*:BY[$;VV-=A!Q#'SP#B'A![W=U%7N4ELRQ+M6I!NVAB
M<Q.?JD>3."[=3[FSFDXYX6SV4:FBY4( DP5<2<MDR9<"X=P8M 9>PT5%6VB
M2\B9UD]<EL!JU4@+:@7E%GYXB99Q88[@P(5^J51CB-*DH265[JXP[Q4M.D7Q
M,XJF<*VDK0R\EP46O^-#RFY(,=ZFN(CW$EXS?0S3R2N(HW@&]W>7<'APM(=W
M.I1NZGFG_U6ZL<0[OI-Q/F>_,[-F.<X#\I=!O<$@>_EBDD3O]J@]&=2>[&//
M%DPPF2/]T<],-N0_Z"LR)K2C2CR5L_4FF[Q]>YJ&FQ$!LT' ;*\ ,A%9A%Y1
MHS7*_ FL9M((UIFS^$YOG<QNQ^1TQ+,=.7$T+B89Q"3_6 UZ'7DU/(^QVY._
MBA%'DS^+$>Y8L$9=^D9C('=&Z=PX[ Z][+RS\*_PKA&2HI)+ P)7!(V.WU#B
MNFLNW<*JM3?T4EEJ#WY:43]&[0+H?*64W2[<!4.'SWX"4$L#!!0    ( "&.
MJ%I77>R[T 8   PO   9    >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;+5:
M;7/:.!#^*QZN<]/.',5Z,Z:7,).2N5X_]";3M+W/"BC@JU^H+$+37W^RH0A;
M*Q4:]4N"8?7PK-#NL]+J8EO)S_5*"!5]+?*ROARLE%J_&HWJ^4H4O'Y9K46I
M/[FO9,&5?I3+4;V6@B_:044^PG&<C J>E8/I1?O>C9Q>5!N59Z6XD5&]*0HN
M'U^+O-I>#M#@^QOOL^5*-6^,IA=KOA2W0GU<WTC]-#J@++)"E'56E9$4]Y>#
M*_1JQL;-@-;B4R:V]='KJ''EKJH^-P]O%Y>#N&$D<C%7#037_Q[$3.1Y@Z1Y
M?-F##@[?V0P\?OT=_:_6>>W,':_%K,K_S19J=3E(!]%"W/--KMY7V[_%WB'6
MX,VKO&[_1MN];3R(YIM:5<5^L&909.7N/_^ZGXBC 8@Z!N#] 'SJ +(?0%I'
M=\Q:MZZYXM,+66TCV5AKM.9%.S?M:.U-5C8_XZV2^M-,CU/3-U6UV&9Y'O%R
M$;TM%2^7V5TNHJNZ%JJ.AM'5_,LFJ[-FSH=2Y%R)1909.[ZS>WXM%,_R^H4>
M\?'V.GK^[$7T3-M%'U;5IM;8]<5(:;K-EX[F>VJO=]2P@]H[+E]&!/T1X1@S
M8/C,/_Q:S _#:7?X2$_28:;P8:9PBT=^:J8@]W9X%,9KXO-5O>9S<3G0 5@+
M^2 &T]]_0TG\)^1L(+".Z^3@.O&A3]_(JJZC&9?R,2N7T2>>;P3D\ XE:5&:
M_/$P)7@2IQ>CAV-/ "L2H\G!JD.1'BA2+\6K^7Q3;';+\ZJHI,J^\6;-0C1W
M2.R(P!!-"(M[/$$S/:,P478@RKQ$=?+1J:6,9ALI13E_C#Y(7M9Y2S:Z6ORG
M0UYG207Q9A8AA'N<;9,ABQ.8<7)@G'@9_Z/%Y,>_?6*3(VS<GU/(BC "$QP?
M"(Y_\-OK%"7%B5'IQ3HW*@.!==Q.#VZG@1-2&M+U0& =UR<'UR=!$M+$6FX3
MS&AO30)&"7/$#(J-KL;!$M(>JA.V*:7C'E'0+'%%#SHJ ="O2DE[Y$Y HSYM
MVV9(7*2-&B.OXIV8E?8@Q]^=HKX@ 4:3L2/-(Z.9R"^:U^)!%\EK_?,K,5^5
M55XM'T&*7IASHS(46M=IH\*(!LY)R*OK9[L?"*WKOM%VY!?W4_,2LG4:IZD5
M.+85B5WU!S)RCOQZ?E9FL@5[B,=)7]9!L\E1)NA2-<*._,K^E,PTMJ>XS]HV
M&;KRDA%EY!6^4_-2"M1RI,\/,*(N83+2B?S:.6LWE4)&[6Y.3V2]RM9P:'J!
MS@[-0&C=S9O18QR'WKYY!?[L_5L@M*[[1N.Q7^-/S4P8$'1=#O56)F"%$:7P
MTL1'.VR_II^3F; MVD,TMFHFT"QUE7?8J#OVJ_L3,I,?^>QU1:#4ZW#/Z#CV
M;Z=/RV+8WB)CJ[J"C)B+H%%:[%=:/=T+47#YN6X#6C6/)2\$',E>K+-G/!!:
MUW,CWS@)G<B\]<#9[@="Z[IO2@+L+PE.3F2VN*>T7[= 1@EVK$U3 F!_"7!6
M&K,U?IBB?B4 6F%7$C.E /:7 D])8O:NN5^^^K_\9X\LC> 3_P;\M!1&[#TU
MM@XL;1OBF'MB!)GX!?E&+X\2CE?_R'/C-11:UT^CZ23TL3D)>FX>"JWK_M')
M>:"C<UO&K6P%V3AJ+F*4GH0[."? D;C-$C)RT31Z3_QZ_TXL,A[-*KV YBIJ
M6EU-\PXD&53L0Z%UW39B3T*+/0DJ]J'0NNX;L2=AQ)[8.DZ8G<<A*]>&FABY
M)^'DG@!"3N*TOVN!S9"+JA%\\LL$G]B";\VO;3)T' %1(^,TA(Q36Z(IG?3X
M 4;,M56B1LBI7\AG?)TIGF??],]OSGQOJWNUY1(F&U3?0Z%UW3?Z3D/K.PVJ
M[Z'0NNX;?:=A])W:VHU)8O6B0#.2.$XEZ5%W/&!['&I\QY.XORF![5@\=I U
M6D]_68N< CWR/FV@1T['KADV2DU#=,DIT #'8]8_F0;-2.HB:?24^O7T)W)5
MT'9Y*+2N^T:I:>B..0W:,@^%UG7?J#\-TS6GP-Y^0NQ%"IFEKJ8/,XK/PG7.
M&= 2AW(5;.?,5<RH/_MEO7,&],7[R0JRH2XY8$:T68CF.0.:YY3VJS[(*J6N
M56"$E?F%U9^JHF%SN?!&5DL=*&#D^N'/C=Q0:-W),/+-0K?56="V>BBTKOM'
M5^;"M-69+>V4Q-8=.:"MSICCU)>9 H#Y"X"G9 );[BW20(<=N:XBFGJ ^>N!
M$_/ #B3I3FN_= 6L].ZZ/ZVCHZO*S3WQ=UPNL[*.<G&OA\4OQ]I#N;MZO7M0
MU;J]O7Q7*545[<N5X LA&P/]^7U5J>\/S87HPP7XZ?]02P,$%     @ (8ZH
M6ACF?MJ] @  A D  !D   !X;"]W;W)K<VAE971S+W-H965T-#$N>&ULK99K
M;YLP%(;_BL6JJ96V<H>D(TAMLDL_;*IZVV<'3H)5@S/;">E^_6R@+$THF="^
M!!N?]^4YQX'CJ&3\260 $FUS6HB)D4FYNC!-D6208W'.5E"HE07C.99JRI>F
M6'' :27*J>E85F#FF!1&'%7W;G@<L;6DI( ;CL0ZSS%_O@+*RHEA&R\W;LDR
MD_J&&4<KO(0[D ^K&ZYF9NN2DAP*05B!."PFQJ5],1WK^"K@D4 I=L9(9S)G
M[$E/KM.)86D@H)!([8#590-3H%0;*8Q?C:?1/E(+=\<O[E^JW%4N<RQ@RNA/
MDLIL8HP,E,("KZF\9>4W:/+QM5_"J*A^4=G$6@9*UD*RO!$K@IP4]15OFSKL
M"&SO#8'3")Q_%;B-P*T2K<FJM&98XCCBK$1<1RLW/:AJ4ZE5-J30NW@GN5HE
M2B?CKXRE):$4X2)%UX7$Q9+,*:!+(4 *]!%]%I*H:D&*<,ZX)+]Q57[8JO^1
M '0Z XD)%6<J].%NADY/SM )(@6ZS]A:*%,1F5)QZJ>92<-T53,Y;S!]Q_P<
MN?8'Y%B.WR&?]LMGD+1R[[7<5-5I2^2T)7(J/W=0B;K2J_V\;C_]7EZ(%4Y@
M8J@73P#?@!&_?V<'UJ>N9/^3V:O4W39UM\\]?F,#KFI54*GT=V(3>R/7C<S-
M+GBO]4!PKP7WCH$'7>"URM\%#YSQ'GBO]4!POP7WCX&'7>#^ ;AKN]8>>*_U
M0/"@!0^.@8^ZP(,#\##T]KA[G0=RARUW>(Q[W,4='G#;UGZ]>YT'<H]:[E$O
M]WT&JFLO)/ N^E$'_7[5>_T'TH];^G$O_0]U/IEBSI])L42/F*ZA*XOQP6?&
M=OUP?Q>ZHES_[]>H!C1W>J0^GZ@FLR2%0!062F>=AZI8O.[Y]42R5=4VYTRJ
M)EP-,W5, JX#U/J",?DRT9VX/7C%?P!02P,$%     @ (8ZH6E/&S\\2 P
MIPT  !D   !X;"]W;W)K<VAE971S+W-H965T-#(N>&ULK5=K;YLP%/TK%JNF
M5MK*(PEY+$%*PA[]4*EJUNVS S?!*F!J.Z'KKY]M" TM14W%E\0V/L?W''S-
M]32G[)Y'  (])G'*9T8D1#8Q31Y$D&!^23-(Y9,-90D6LLNV)L\8X%"#DMAT
M+,LU$TQ2PYOJL1OF3>E.Q"2%&X;X+DDP^[> F.8SPS8. [=D&PDU8'K3#&]A
M!>(NNV&R9U8L(4D@Y82FB,%F9LSMB6];"J!G_"&0\Z,V4E+6E-ZKSE4X,RP5
M$<00"$6!Y=\>EA#'BDG&\5"2&M6:"GC</K#_T.*EF#7FL*3Q7Q**:&:,#!3"
M!N]B<4OS7U *&BB^@,9<_Z*\F.NZ!@IV7-"D!,L($I(6__BQ-.((('F: 4X)
M<%X"^F\ >B6@]UY OP3TM3.%%.V#CP7VIHSFB*G9DDTUM)D:+>635+WWE6#R
M*9$XX?VD-,Q)'".<AN@J%3C=DG4,:,XY"([.?1"8Q/P"?45W*Q^=GUV@,T12
M]#NB.RXQ?&H*&88B,X-RR46QI//&DCUT35,1<?0]#2&LXTT9?J7!.6A8.*V$
MUYA=HI[]!3F6,VB(9_E^>+\![K?#?0C>@M?4]*HWTM-\O0^]D2:["[Y^,Y\Z
M."8\PP',#'DR<&![,+S/GVS7^M;D59=D?D=D-1_[E8_]-O;*QR;'"J2KD>ID
MW'N.98^FYO[8B5;Z4YUXO:(]'C^O6%,XJ!0.6A7.@X<=8?#.7=+*=>HNZ9+,
M[XBLYJ%;>>AVG&UNESYV2>9W1%;S<5CY.&S?BPEE@CQA_3&'1UF6<&ARKV 9
MU#+/>I%XPX;L?#'';XWF@UI'E=91J]8ESHC ,7F2J>?#7M9.F6RMZ$;DF#6J
M;N4[=<]T2>9W1%;S<5SY..XX]\9=^M@EF=\16<U'VWHNXJQ.LJ^DJ7V&K%?Y
MUS!K^"H!VR,Z5;%Y5,$FP+;Z)L!10'>I* K!:K2X;2SLR5(7Y2_&Y2UDKFMO
M\YFFN,+(,F]+4HYBV$A*ZW(H#R%6W J*CJ"9KI/75,BJ6S<C>9,"IB;(YQM*
MQ:&C%JCN9MY_4$L#!!0    ( "&.J%J,WLSN^@0  +(4   9    >&PO=V]R
M:W-H965T<R]S:&5E=#0S+GAM;*U8;7/B-A#^*QKWVB$S#;;$:R@PDY#+-3.7
M:28DO<_"%M@36Z*2#+G[]95D8P.1Q:7E"WY!NWH>:7>?M<9;QE]%3(@$;UE*
MQ<2+I5R/?%^$,<FP:+,UH>J?)>,9ENJ1KWRQY@1'QBA+?10$?3_#"?6F8_/N
MD4_'+)=I0LDC!R+/,LR_WY"4;2<>]'8OGI)5+/4+?SI>XQ69$_FR?N3JR:^\
M1$E&J$@8!9PL)]XU',U01QN8$7\G9"OV[H&FLF#L53_<1Q,OT(A(2D*I76!U
MV9 925/M2>'XIW3J57-JP_W[G?<[0UZ166!!9BS]ED0RGGA##T1DB?-4/K'M
MGZ0DU-/^0I8*\PNVQ=C!P -A+B3+2F.%($MH<<5OY4+L&2@_=@-4&J!C@VZ#
M0:<T,"OG%\@,K5LL\73,V19P/5IYTS=F;8RU8I-0O8USR=6_B;*3TWL:LHR
M9_Q&!+C45\"Q)&J'0D;#)$VP6>W6+9$X2<6%&O,ROP6M3Q?@$T@H>(Y9+C"-
MQ-B7"HYVZH?EU#?%U*AAZ@YX8%3& GRF$8D.[7U%H^*"=EQND-/A ^9MT(&_
M Q2@G@7/[.?-NPXXG6II.\9?YR>6UK8ZA777;JW3=R36."033^6G('Q#O.EO
MO\!^\(>-VIF<'1#M5D2[+N_31\XVB<EK55944!C:LHEVX:MO?.DBLYGV(1K[
MFWTV[\=T]99L+"![%<B>$^0=B0C'Z1X\0-Y4,10$M!:$DF4B+P"60$@L<\GX
M=Y,'-@+%/,,]<$$;P2,&)P8=4.A7%/K.@/J\7*KB!]AR9(/5/V<XG<G9 <U!
M17/@W*EY6>%A'[6R"QO5PO[J<'&'QUO@G.4_<AA6'(9N#E(7T;U8HT1O'%B6
M45A&G(W<T$(N>!=?UE'!P!Y@5Q7J*R=J7?V)"3)AP#*N5) "U3-P(P/6?+ZR
M(7F7T=9133D-@UJ] B?B+RE;J.6\IQ+35;)("?C*MI>ZY$:@K+^M+_=?G^^M
M<50Z/\9^O-;681 .&\#O22]T@O^6R#AF:930E8X1*T)HW>?.,4)H*3<!:@"(
M:H#("?")R)Q3(!E85R5>\IR ?&T%Z_3VT1)4>CNBWFNHH;!69>C4PNG=NZ@&
MZB[#E% )HD2%/R<T--W0+@'(6QBK^")@I?IB 52[ U(FA%W?W--_>!7<9%J#
M]E7PZX6C8L%:Q:%;QF\)R53:)%2J%1#6VG3"0RMH=]ZA*7F<L$3MP0D>M=##
M$TI?[IKI8W<;*A.<6AFY?2E&O29&/6MJ]AKBLQ9YZ!37Z:P(-=5;YU1WX2N:
M_%#;HD6D5 T!6M?S&1AT WM5<_MOP69*?1NE?E/*U8(.W8I>4]K@-"^^*'"J
MOB"Q2C0K!;>_5J<YSDY8PJ#=/1%HM<9#M\A7_9AJ&EGX>JD_)R.@1$>WE8:E
ME9O;::L;M(=-Y#ZD^K"6?>C6_;]D3+@5J]M.90=L@FH5_":HJ!9\Y!;\8LW5
ME[])B*86'5F%?7 LF^6P0]GL-$"L91VY9?VE/6_O&CTK.*?Y1P7B7-X.R=8M
M D+_ZR,7G;4G.)>W0[)UZX!.M YG^X8L)SKQ$7EJ5$'#WSO]R0A?F4,QH>I0
M3F5Q>%*]+0[>;N!H9LZGCMY?P]&U.8;R:S?%:=X#YBO=^:1DJ5P&[8'2/EX<
MD!4/DJW-&=."2<DR<QL3K%9+#U#_+QF3NP<]075,.?T74$L#!!0    ( "&.
MJ%JPJA>8P (  $ '   9    >&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;(U5
M;6^;,!#^*Q:KIE9:"R$)"1U!:II-ZZ1*55^VSPY<@E6PF6WRLE^_LR$L4RCK
M%_S"W?,\=_:=HZV0KRH#T&17Y%S-G$SK\MIU59)!0=65*('CGY60!=6XE&M7
ME1)H:IV*W/4]+W +RK@31W;O0<:1J'3..#Q(HJJBH'(_AUQL9\[ .6P\LG6F
MS88;1R5=PQ/HE_)!XLIM45)6 %=,<")A-7-N!M?ST-A;@Q\,MNIH3DPD2R%>
MS>(NG3F>$00Y)-H@4!PV< MY;H!0QJ\&TVDIC>/Q_(#^U<:.L2RI@EN1_V2I
MSF;.U"$IK&B5ZT>Q_09-/&.#EXA<V2_9UK9!X)"D4EH4C3,J*!BO1[IK\G#D
MX/MO./B-@V]UUT16Y8)J&D=2;(DTUHAF)C94ZXWB&#>'\J0E_F7HI^,[GH@"
MR#/=@2*7Y(5+2,2:L]^0$DUW9 D<5DPK<KX 35FN+L@989P\9Z)2E*<J<C7*
M,&!NTE#.:TK_#<HAN1=<9XI\X2FD__J[*+^-P3_$,/=[ >^IO"+#P2?B>_Z8
MO#PMR/G910_NL,W-T.(.WY&;KC!K[U&WMZFF:U72!&8.EHL"N0$G_OAA$'B?
M>[2-6FVC/O1X3G/*$\ C^TYYA>5$FOB[A-90@84R5;J)PS",W$T'_[CE'_?R
M8VZP!R@@V!?PGDH)7),]4&EO32D4,T77F;8:>'RD9A)TBPE:,4&OF 4<B2DE
MP^_[I 0G4B[]P;!;S*05,_E/9C3@>6ML.(FL:-[%.SGA'7C=K-.6==K+BBT*
M&Q!OCB+98\,L,"65&;CNTC ]T3#JEA"V$L)W7DDLR"1K*[*+/#RYD=.32^ >
M=;4"Y-KV;D4247%=-[AVMWT>;NJN^->\?EM0T)IQ17)8H:MW-<&P9=VOZX46
MI>V12Z&QX]IIAD\<2&. _U="Z,/"$+2/9OP'4$L#!!0    ( "&.J%K0[]3+
M>P(   H(   9    >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;+55;6_3,!#^
M*U:0$$BH>>O;2AMIW4 @,5%M CZ[R36QYMC!=MOMWW-V4J]#74"P?4E\]CV/
MG[//=_.]5+>Z C#DKN9"+X+*F&86ACJOH*9Z(!L0N+*1JJ8&356&NE% "P>J
M>9A$T3BL*1-!-G=S*Y7-Y=9P)F"EB-[6-57W2^!ROPCBX#!QS<K*V(DPFS>T
MA!LPWYJ50BOT+ 6K06@F!5&P603G\6P91Q;@/+XSV.NC,;&AK*6\M<;G8A%$
M5A%PR(VEH/C;P05P;IE0Q\^.-/![6N#Q^,#^T06/P:RIA@O)?[#"5(M@&I "
M-G3+S;7<?X(NH)'ERR77[DOVK6^:!B3?:B/K#HP*:B;:/[WK#N((@#RG 4D'
M2)SN=B.G\I(:FLV5W!-EO9'-#ERH#HWBF+"W<F,4KC+$F>QK XH:)DKR!3 X
M3=Y<@J&,Z[?ST""_]0KSCFO9<B5/<*7D2@I3:?)!%% \QH>HRXM+#N*622_A
M%54#DL;O2!(EHQZ^U >;.K[A4WQ,L'I;GXJL%VB?QDPW-(=%@+FO0>T@R%Z_
MBL?1^QY90R]KZ-C3O[R#4_J&+Z!OY/6->H_-J2*T5 #X'HTF!M3)0^RG2<D]
M4*5[!(V]H'$OTPI4CD*P:A"YP=J 0TY YY13^]1/'F#+>.88;:G:9=$@BB>8
M5KL32B9>R:0_H^C=4QG5"_S'&YMZ6=/_SJCI"^@[\_K.GB>C^FGB^(\I%4</
MA3!Z]J3J**>/LBK^/:?"H_)<@RI=$](DEUMAVDKM9WVC.V_+^X-[VR6Q(I9,
M:,)A@]!H,,$GI]K&TQI&-J[8KZ7!UN&&%39K4-8!US=2FH-A-_#M/_L%4$L#
M!!0    ( "&.J%I"G3L4W@(  ,<*   9    >&PO=V]R:W-H965T<R]S:&5E
M=#0V+GAM;*U674_;,!3]*U:&)I &^6I38&TD6H8V"31$87LVR6UCD=B9[;;L
MW^\Z24/3A0A$7EK;N>?D'/LDN>.-D$\J =#D.4NYFEB)UOFY;:LH@8RJ$Y$#
MQRL+(3.J<2J7MLHET+@ 9:GM.4Y@9Y1Q*QP7:[<R'(N53AF'6TG4*LNH_#N%
M5&PFEFMM%^[8,M%FP0['.5W"'/1#?BMQ9M<L,<N *R8XD;"86!?N^<QU#*"H
M^,5@HW;&Q%AY%.+)3'[$$\LQBB"%2!L*BG]KF$&:&B;4\:<BM>I[&N#N>,M^
M59A',X]4P4RDOUFLDXEU:I$8%G25ZCNQ^0Z5H:'ABT2JBE^RJ6H=BT0KI456
M@5%!QGCY3Y^KC=@!($\[P*L WCY@\ K KP!^8;145MBZI)J&8RDV1)IJ9#.#
M8F\*-+IAW!SC7$N\RA"GPY\Y2*H97Y)KP-U0Y)A<,4YYQ&A*E*8:\,RTPA-+
M<1P3+8BH(6D).;P$35FJCA#\,+\DAP='Y( P3NX3L5*4QVIL:]1J[FA'E:YI
MJ<M[19=/;@37B2+?> QQ$V^CQ]JHMS4Z]3H);Z@\(;[[A7B.-VS1,WL[?- A
MQZ_WW2_X_#?N>]L.E0R#=@;S?)^KG$8PL? !5B#78(6?/[F!\[7-7D]D#;.#
MVNR@BSV\%QK3)#%(!)[Q!:2@S6[)$10<YNVS#OUA,+;7NRY::@*WKFF(&];B
MAIWBK@5?'FN0V7_!;A/9R?7>,^F)K&$[J&T''PY@T*?9GL@:9D>UV5$/ 2PY
MAKOA<@=[ >RN:8@[K<6==HJ;)T+JMR>PD^R]A](36</W6>W[[,,)/.O3;$]D
M#;.N\_*A=7K(8$6R^X8;>'L9;*L9[670WFD),I#+HE-2)!(KKLN/9KU:=F-3
MTXV9EF)O';NTBZ(WL5]HRA8//XE+QA5&=8&4SLD(GPI9=DWE1(N\:#P>A<8V
MIA@FV&F"- 5X?2&$WD[,#>K>-?P'4$L#!!0    ( "&.J%J-_$G"3P,  %(-
M   9    >&PO=V]R:W-H965T<R]S:&5E=#0W+GAM;*V7:V^;,!2&_XK%JJF5
MUG*_)$N0UE33*G5;U<OVV4F<8!4PLYVD_?>S@1("KE.A?@$,?H^?]V!\S&1'
MZ!-+$.+@.4MS-C42SHNQ:;)%@C+(+DB!<O%D16@&N6C2M<D*BN"R%&6IZ5A6
M8&80YT8\*>_=TGA"-CS%.;JE@&VR#-*72Y22W=2PC=<;=WB=<'G#C"<%7*-[
MQ!^+6RI:9A-EB3.4,TQR0-%J:GRSQS/;DX*RQQ^,=JQU#:25.2%/LG&]G!J6
M)$(I6G 9 HK3%LU0FLI(@N-?'=1HQI3"]O5K].^E>6%F#AF:D?0O7O)D:D0&
M6*(5W*3\CNQ^H-J0+^,M2,K*(]C5?2T#+#:,DZP6"X(,Y]49/M>): F$4;7
MJ07.>P5N+7!+HQ59:>L*<AA/*-D!*GN+:/*BS$VI%FYP+E_C/:?B*18Z'O\N
M$(4<YVMP@T0V&#@'O\3D$5."H9R#+4PW") 5X(DX-7U3V1>D&,YQBOD+.+U"
M'.*4G0GYX_T5.#TY R< Y^ A(1L&\R6;F%S0RC'-14UV69$Y;Y#]A/0"N/87
MX%B.KY#/]/(KM&CDWJ'<%#EJ$N4TB7+*>.X[$Z4R5$7PU!'D!SEF!5R@J5&F
MEVZ1$7_^9 ?65Y6]#PIV8-9MS+JZZ/$;*;^L5$&ID@O$-AZ%X<3<MKFUD0=R
M>PVW=XP[4'%7*K_%;;NNW0'7AAX([C?@_C'P4 7N*\"=;L:UH0>"!PUX< P\
M4H$'/?"1W^761A[('3;<X3'ND8H[['$'([_#K8T\D#MJN*,CW*X%Q((J%V11
MME<<496-J#]O>A^J=J"!-D:-C9'6Q@/A,*W+2 %?Q+Z *U?44<^'[P5>QXAV
MJ(%&;&M?0"VME1O$V!A<Y^)-(,:5=<[JN3BW+3OJV-"/,]1':R-@:WTHR_YA
MH<?JLE<';OOS/"_HVM,./]3>OGS;VH(9SS:42FL%H7+_J/3A]!<MJSO9ZD[M
M&ABU/JU#NGV]M?4%]X;DZW,Q@S(MG]OC<WW/Z0+VB[0;AM$;A/O*:NM+:_G%
M*JF\WGBJM_^AU=5L;7CEWX;8*ZYQSL1T78GPUD4H<D2K#7S5X*0H]\!SPL6.
MNKQ,Q$\/HK*#>+XBA+\VY+:Z^8V*_P-02P,$%     @ (8ZH6M'.]C@8 @
MUP0  !D   !X;"]W;W)K<VAE971S+W-H965T-#@N>&ULE51A;],P$/TKEI'0
MD%B=IFE92Q*);D(@@:@VP3Z[R36Q%MO!=MOQ[SD[:0A25\&7V&??>_?>Q79Z
MU.;)U@"./,M&V8S6SK4KQFQ1@^1VHEM0N+/31G*'H:F8;0WP,H!DP^(H6C#)
MA:)Y&M8V)D_UWC5"P<80NY>2FU]K:/0QHU-Z6K@75>W\ LO3EE?P .Y[NS$8
ML8&E%!*4%5H1 [N,?IBNUHG/#PD_!!SM:$Z\DZW63S[X7&8T\H*@@<)Y!H[#
M 6ZA:3P1ROC9<]*AI >.YR?VC\$[>MER"[>Z>12EJS-Z0TD).[YOW+T^?H+>
MS]SS%;JQX4N.7>X"DXN]=5KV8%0@A>I&_MSW8028)B\ XAX0!]U=H:#RCCN>
MIT8?B?'9R.8GP6I HSBA_$]Y< 9W!>)<_JT%PYU0%?D":,Z2:_(8G$!)^ 'W
M*L#>^[_K<QJ?0QP8:<G5'3@N&OLF90Z%>#I6]$777='XA:)?N9F0V?0MB:-X
M_C><H?[!1#R8B /?[!]-G%/4,23G&?S17]F6%Y!1/-L6S %H_OK5=!&]OZ!O
M-NB;76+/3QV]/G7T3Q]'S;T2BDBM7'V^I9=+)#<]]H+<9)";_)_<4MA"[Y4C
MV&4XIZWC6P8^_PP<\F@2+6?+E!W&.MCHG/HKC^>@$LIB.W8(C";OYI28[AIU
M@=-M.+I;[? BA&F-+P\8GX#[.ZW=*?"W87C+\M]02P,$%     @ (8ZH6INM
M,CWD @  T0@  !D   !X;"]W;W)K<VAE971S+W-H965T-#DN>&ULK99K;YLP
M%(;_BL6JJ96:0K@W2Y#:5-,FM5/4R_;9(8=@U6!FFZ3Y][,-1;G0K-7V);'Q
M.>]Y7N,+XS7CSR('D.BEH*686+F4U<BV19I#@<4%JZ!4(QGC!9:JRY>VJ#C@
MA4DJJ.TZ3F@7F)16,C;/9CP9LUI24L*,(U$7!>:;:Z!L/;&&UNN#>[+,I7Y@
M)^,*+^$!Y%,UXZIG=RH+4D I""L1AVQB70U'TUC'FX"?!-9BJXVTDSECS[KS
M?3&Q' T$%%*I%;#Z6\$4*-5""N-WJVEU)77B=OM5_:OQKKS,L8 IH[_(0N83
M*[;0 C)<4WG/UM^@]1-HO91187[1NHF- @NEM9"L:),504'*YA^_M/.PE3#T
MWTAPVP3WO0E>F^ 9HPV9L76#)4[&G*T1U]%*33?,W)ALY8:4^BT^2*Y&B<J3
MR2TKEP,)O$!L3LD2Z[D5Z/0&)"94G*$!>GJX0:<G9^@$D1(]YJP6N%R(L2U5
M=:UAIVVEZZ:2^T:E.\POD#<\1Z[C!CWIT^/I-Y!VZ?YNNJT\=\;=SKAK]+R/
M&.]SU<CX_3)ZDXU$A5.86&H7"> KL)+/GX:A\Z7/XW\2VW'L=8Z]8^K)K-U[
MVR]ZH/91RFM8H*H=I03/"25RTS<738'0%-#GPRJ)W2@:VZMMCX=!T:4?=$$[
M['['[A]EOR,I9X)E4O&EBA1Z7U6C$6Q5]O1:V:$[C/%]MQ\NZ.""HW"/3&**
MZ'L75'! $(?.< ^S)\B+HW[.L.,,CW+>@A C-*TYAU*BBG%SD++L_>CA =4P
M<((]])Z@T/?ZT:,./?K[% OT@Y6#?^&/#M BYS+<XX\.UF\8^7X_?]SQQQ]<
MO^?HJF"U]H$W>$X!X;*L,:4;Q%; D<P!-8XRT\9+#J!N3]EG*SX@]AUGS]51
MOH^>//;6A:,O>W6V+XDZ3BAD2MZYT-<C;R[0IB-99>Z@.9/J1C/-7'US -<!
M:CQC3+YV]+76?<4D?P!02P,$%     @ (8ZH6A")-6:P @  :@8  !D   !X
M;"]W;W)K<VAE971S+W-H965T-3 N>&ULG57;;MLP#/T5P;M@!8;:<1*WZ!(#
M3=IA'5:@:-'M6;$96Z@NGD0G[=^/DA,WPU(_S ^V1)&'AZ1(S[;&/KD: -FS
MDMK-HQJQN8AC5]2@N#LU#6@Z61NK.-+65K%K+/ R&"D9ITF2Q8H+'>6S(+NS
M^<RT*(6&.\M<JQ2W+PN09CN/1M%><"^J&KT@SF<-K^ !\+&YL[2+>Y12*-!.
M&,TLK.?1Y>ABD7G]H/!3P-8=K)F/9&7,D]_<E/,H\81 0H$>@=-G TN0T@,1
MC=\[S*AWZ0T/UWOTKR%VBF7%'2R-_"5*K.?1><1*6/-6XKW9?H-=/%./5QCI
MPIMM.]U)$K&B=6C4SI@8**&[+W_>Y>' X/PM@W1GD ;>G:/ \HHCSV?6;)GU
MVH3F%R'48$WDA/9%>4!+IX+L,%\:I012EM$QKDNV-!J%KD 7 AS[= 7(A70G
MLQC)F3>)BQWPH@-.WP >LUN"JAV[UB64?]O'1+)GFNZ9+M)!P%MN3]EX])FE
M23IECP]7[-/[DP'<<9^!<< =_T\&CL7=P4V.P_DFNG -+V >49<XL!N(\H_O
M1EGR98#LI"<[&4+/KQT*NHI0,BE05#S<;"GX2M#^Y1C;#B\+>+Y#-_GT+/'/
M+-X<(3+MB4P'B=QH! H/F24VU :NL*+9L=D3.T9G&+61K6,2*BZ9V#O FB,U
M;V%;BIJ6H_0#:\!2K72KV-H:Q2[;BCJE2_)H[&](<L[0L.^M!C9.O,"+?76Q
M)E2^1@^PQR1Q$8K>TI4GL^[ ^\H.7 U4+^N3E@V&]^.U9@X0)?A;Q^"9)JR#
M8]G*_BG>9'JD=O%!_RNP59ARCH)J-7:CH)?V@_2RFQ^OZMT4IBZKA/9%6)-I
M<GI&!;/=9.LV:)HP358&:3:%94T_ [!>@<[7QN!^XQWTOY?\#U!+ P04
M"  ACJA:&\V-U D#  "U"0  &0   'AL+W=O<FMS:&5E=',O<VAE970U,2YX
M;6RM5MM.XS 0_14KBU8@ 4F3],:VD6@+VGU 6U%@GTTR;2R2.-A."W^_8R?-
M]I)6K-27UI>9DW/&8\\,5ER\R1A D8\TR>30BI7*;VQ;AC&D5%[S'#+<F7.1
M4H53L;!E+H!&QBE-;-=Q.G9*668% [,V%<& %RIA&4P%D46:4O$Y@H2OAE;+
M6B\\LD6L]((=#'*Z@!FHYWPJ<&;7*!%+(9.,9T3 ?&C=MF[&?6UO#%X8K.3&
MF&@EKYR_Z<FO:&@YFA D$"J-0/%O"6-($@V$--XK3*O^I';<'*_1[XUVU/)*
M)8QY\H=%*AY:/8M$,*=%HA[YZB=4>MH:+^2)-+]D5=DZ%@D+J7A:.2.#E&7E
M/_VHXK#A@#C-#F[EX.XZ^ <<O,K!,T)+9D;6A"H:# 1?$:&M$4T/3&R,-ZIA
MF3[%F1*XR]!/!3/%PS?R.]<QE81F$7D$J00+%42DW'S.F)+DJIQ=C3!F$1GS
M%/-(4G,4=Q]Z#.1\ HJR1%Z@\?-L0L[/+L@981EYBGDA$5L.;(6<]9?ML.(W
M*OFY!_AYY(%G*I;D+HL@VO:W46LMV%T+'KE' 1^HN"9>ZY*XCMMNX#/^NKM_
MA(Y7Q]\S>-X!O D(MJ0ZE>4EN:=,D!>:%- 4J!+(;P;2M_U&YC2$H87768)8
M@A5\_];J.#^:5)X(;$NS7VOVCZ$'3US1A$B33J\FG<*-=&J27N)U#)Y^EY:!
MV^NU!O9R4]*^4<OQ_-IHBVJ[IMH^2O7NO6#JDTP3FC4F[U'O_SV3$X%M">W4
M0CNGRL/.*36?"&Q+<[?6W#UZN!,FL)@0K(@"E6<+3$.I&H^YQ&EOI);O=G?2
M;]^F=R#Y>C6_WE%^,RQNFI9^E6F$CS_#E]F<$8'RR6TDV]LCXOIM?X?MOE&_
M[333[==T^R>^UOVO7.M]HX9K;6]4P!3$PC0&$@D4F2IK0[U:]AXC[#U,C=Y9
MQY[DUI1B^Q],V=#@R[]@6",3F".D<]W%X(FR22@GBN>FSKYRA57;#&/LJT!H
M ]R?<Z[6$_V!NE,+_@)02P,$%     @ (8ZH6I;6KY:;"   '$4  !D   !X
M;"]W;W)K<VAE971S+W-H965T-3(N>&ULS5Q;;^.X&?TKA%L4L\!N+%YT2Q,#
MB:6V^S#=8-*9?59LQA%&EEQ)3B9 ?WRIBTWS8EK*T)-Y26SYXR%Y/MZ.CJVK
MEZ+\6CU16H-OZRROKB=/=;VYG$ZKQ1-=)]5%L:$Y^^2Q*-=)S=Z6JVFU*6FR
M; NMLRER'&^Z3M)\,KMJK]V5LZMB6V=I3N]*4&W7ZZ1\O:59\7(]@9/=A4_I
MZJEN+DQG5YMD1>]I_7ES5[)WTSW*,EW3O$J+')3T\7IR R]CXC4%VH@O*7VI
M#EZ#IBL/1?&U>?/[\GKB-"VB&5W4#43"_CW3.<VR!HFUX[\]Z&1?9U/P\/4.
M_1]MYUEG'I**SHOLSW19/UU/@@E8TL=DF]6?BI=_T;Y#;H.W*+*J_0M>^EAG
M A;;JB[6?6'6@G6:=_^3;ST1!P60>Z0 Z@N@H05P7P /+4#Z F1H ;<OT'9]
MVO6])2Y*ZF1V518OH&RB&5KSHF6_+<WX2O-FH-S7)?LT9>7JV7U=++Z"/S9-
MUBJ0Y$OPB59UF2YJN@3=AY_SM*[ ;^"^&TN@> 2'I<!-D^NT?@4?(EHG:5;]
MPH(_WT?@PU]_N9K6K)%-5=-%WZ#;KD'H2(,P^%CD]5,%XGQ)EYKRD;D\1 :
M*6-G3Q':472+C(@?D_("8/@K0 YR-0V:#R].=/TQ%X_HPE@\'EX<&\C ^_&"
M6SP\9+SHLML5)_KBS;)W66V2!;V>L'6MHN4SG<S^]A?H.7_7,6L3++()%EL"
M$W) ]CD@)O39O[?K!UHV\[#/PZ_@GV62-S/V0YJ#ZBEA=6JG7H?KMKC-%O(\
M<ZZFSX>,GXR(C&T;2Z,E,(%&=T^C.Y;&^!LM%VEUFDA7H>DWY$$<((E.8PO&
M#F";8+$E,(%Y;\^\9V3^SW;[9BS?/-.2'4?VO(,[MO-0*0W+(LN2L@(;EBQ#
M2KHJ_8.4X LOD/)A;-?8?-@$BRV!"?GP]_GPC?F(UYNL>*54W-?_Q_8,B/MK
M=UF2ZU@W H]=[FV"13;!8DM@0G:"?7:"[]MR YLYL D6V02++8$).0CW.0C'
M[A5_;.NJ9@?F-%^Q\^XM7:5YWKQ^2-A488O8B1TD5'80##T7AEA:L=0X%^,0
M>M).$PV,BXW]?".+T.%JPSG;GMM#"YLN# +HRF<8<QO&CF&K:+$M-)'_ [4'
MQ_+/]/8C3=EN/(V_;=)R0!Z,58Q=;WHT\2B%,9&&M]5*8UMH8A80SP+ZOM4D
M[EX,7$KZV@XI1*'O.T1>2S2!;)'P A3(;*N!VM4IUB,*RX[($=>9T"BA5(YV
M"T7RD)UF!*N,!'[@._)Y4!.(71<Y6%8]YM:.'G_GD(^0ZT<X6D!^H55S(&]N
M +%E@+:W?^JBO7R2;%4S'AE^:N"1X6=58]I"$\GF*A.:9>8IL7,X\Q^TIXB!
M JAOAZ2 ?#D)NB@DGR8&1<7FGK^56:XBX3O(R+[.9I\^Z+I/9!JM*DFK:+$M
M-#$M7$Q"LYH\E1;]@6-H>JP*SAY-2+9W$7KR;+"J)6VAB>GA:A(:A=*H]4AS
M#AF:IT WC=352!N&H)R 8,#2%FNCT+&3")=^T*S]!BXS^W/)4(9"+4/*"443
MAB[4+=.2KNN9/(=*1%PE(K-*/,7XJ</*P STK3BQ86JCE!%J[M%8_FVAB?QS
ME8C,*E'A_Q-M/.=F*9@7>5TFBWJ;9. _M%P+RT7#_2MES.OI-E?J=44!!.O&
MOP,A6":ONOM=\Y% T#^&% U$PAU2!9![#"H>"$5V4-I6B?GB>A*9]>28?,FK
ME2%?YDIW/4+P>*+,".X.8<_)T9Q'9JC1\\L2FI@OKFV16=N.R=>IM<Z0/W,C
M1LRW<4"F^6951=M"$[/(530RJ^B;U:JDJZ2FX'>6LS2OT@7XDF1;*MS-T6:F
M _8.MI30#4G@XU#>?-1(&&"/!$2^0:&+A)BX 4;2<3;6A*+ (X[CA/JS$N)B
M%YG%KH&3@X5'RXEJJ8;(=W& 79D3-1*Z+@H<Z,J<6'5,;:&)U'*UB\QJUT"M
M88W04NT-'GYJY+'A9U7!VD(3J>8*%KW5#V6;G=D/-2./U:=6T2*K:+$M-#%'
M7,:B[W1%D55;U"I:9!4MMH4F9H+K8_2CO5&DFID!0<B'\O*DQH4(NW)<-# N
M-G?TC41B+GOQ^<Q1K#%'?8RP_(4D<Q-&?Z7.JNJUA2;2SU4O/K\WBC5NIF)F
MSG51KNIYFML[FMUS>)Z8:U3\0SU/K!J/OA?XCGQ8U,2%,$#8E[E6XW1+3JS#
M$Y<2D9^#[]6>T>_$&K^3(!<JLU]C=P8><D*9#;O?E3V'3L-<I^$?Z79BU<34
M#SPU3C_PK'J=MM!$JKG\PS^)UXE5?Q*Z%X$G)T%G8Q+Y># H*C9W_:W4<OF'
MW\'LQ%JSTY5O@9N;-OK08%4JVD(3T\*E(GY'LQ-K[$EU9,Z'A47FGHSF_1SR
M#W/YAW\&%Q-K[$GH7SC*@4YK8ZH94 U*S:H5:\($,)$RKM/PN_B86.MCJF?>
M06&1N0^C!^DY!!WA@H[\%#XF41U*W2#5A&G&J+E+HW_?<PY)1[BD(^]A9)ZH
M-)!=0^@<M58&0GD[J./6RD D=]^HXU;F0*AP!X5/.9F$JT3R'D[FB4I]F1OD
M'4^8&4JA^3A49(8:/=/.86D2+E_)SV!IGFC$J)DW#&K(S+,JEFVAB7D\^&GI
MN4Q-HC$@/>R[1#'P-)$H))[KR-^[TP4Z ?&)<EM&$TG\P$/ND6]_$2YIR;D<
M3:+ZE'X0^EBV*>>:0(C<('3D>P7FIHX>:><0M(0+6O*C_$RB<2F/C#PU\LC(
MLZI1;:%U3$\/GO:PIN6J?<Q&!1;%-J^['_+OKW:/\KB%E_/VB1?2]0A>QKKK
M-_#RIGW@Q93#=\\-^9B4*Y8ID-%'5I5SX;,A5':/XNC>U,6F?=;$0U'7Q;I]
M^423)2V; /;Y8U'4NS=-!?L'HLS^#U!+ P04    "  ACJA:7>$A._0#  !0
M$   &0   'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6RM6%MSHS84_BL:VNFT
M,XE!W$EMS\39[+8/V\TDL]EG!8YM)B"QDFPG_[X2$&P#9IW8>0BZG,OWZ7)T
MCL<;QI_%$D"BESRC8F(LI2RN3%/$2\B)&+$"J)J9,YX3J;I\88J" TE*I3PS
M;<ORS9RDU)B.R[$[/AVSE<Q2"G<<B56>$_XZ@XQM)@8VW@;NT\52Z@%S.B[(
M AY ?B_NN.J9C94DS8&*E%'$83XQKO'5#?:U0BGQF,)&[+21IO+$V+/N_)M,
M#$LC@@QBJ4T0]5G##629MJ1P_*R-&HU/K;C;?K/^N22OR#P1 3<L^Y$F<CDQ
M0@,E,">K3-ZSS3]0$_*TO9AEHOR/-K6L9:!X)23+:V6%($]I]24O]4+L*"@[
M_0IVK6"W%=P#"DZMX)1$*V0EK4]$DNF8LPWB6EI9TXUR;4IMQ2:E>AL?)%>S
MJ=*3TP?)XF?TK=!K*A"A";H'(7D:2TA0-?F=IE*@2_10[31B\WZ9:DM2^8K^
M_ 22I)GX2VD=-'?[<Z5E[S)"=?=W9"*Q)!S$V)2*F(9GQC6)647"/D#"05\9
ME4N!;FD"R;Z^J1:D617[;55F]J#!KX2/D(,OD&W97@^>F^/5W0$X3K-)3FG/
M.6:3^I:G4G?[U74DN!(%B6%BJ*LN@*_!F/[Q&_:MO_NXG<G8'E.W8>H.69_^
MM\J?@!\\8N)"?=9J1HT2B6:P2"E-Z4(KR"6@5R"\;WTJIU[I5 >V]13;;F0%
MT=A<[U+OR@5N%'A^([9'RFM(>2>2^L()E>V36T'W.I#LP,,MW%TAJQ^RWT#V
M3X3\6.Y"'V*_ ^82AZYZ5UJ@!Q%\\)P%#;_@1'[JD9A#JH;-VY<BY?U4@RY5
MS[$BKTVU1RZ*O/XM"AL*X1FOBHJ,O[HD80>DY_A^V.;2%0O<,/!Q/YNH81,-
MLOE1OK>07%ZO@:O\H;H22+UI@#Z3E*-'DJW@ GU;22'5,Z4O_7LB0.4]V+U&
MUB@*6]RZ4MXH"/J986O[Q%IGX380!6H/^M- <_'(=EH$:KDC(@'>R1#P6> ?
MC@BU@WWTHZ@=?8=Q?# B8'O+TSX+SZ,B0^UKC[(_<H(VY1ZQ<&2'T>[?@0W<
M9@]X\,G^Z-TZ(F34CH/]4VEU3F573-VK\ "O;:Z ?Y$L,'H)>9&Q5X J=Z4[
M(RA1>Q-+QOL3RD'3[TV9SF5M?R&V^07V3LL/\6""\FZV9[*VSW:;FN!3<Y.A
M0-K-3MH/W+#[]](S=VJS'/BB+%D%BMF*RJH@:4:KLGBFRV)=V[7&5;E\71:)
MYM9,56NK<D.]@@)E,%<FK5&@V/&J?*TZDA5E!?C$I*HGR^92E?S M8":GS,F
MWSK:0?,CPO1_4$L#!!0    ( "&.J%H<Q$X#X@(  %0)   9    >&PO=V]R
M:W-H965T<R]S:&5E=#4T+GAM;,U6;4_;,!#^*Z<,32"-YJ4OM*R-1(%I?$!#
M5(S/)KDV%HZ=V6X#^_7S2QO**-FTB6G]T/ALW^/G.9]]'M="WJL"4<-#R;B:
M!(76U7$8JJS DJB.J)";D;F0)='&E(M051))[IQ*%B91- A+0GF0CEW?E4S'
M8JD9Y7@E02W+DLC'*3)13X(XV'1<TT6A;4>8CBNRP!GJF^I*&BML4'):(E=4
M<) XGP0G\?$TCJR#F_&58JVVVF"EW EQ;XV+?!)$EA$RS+2%(.:SPE-DS"(9
M'M_6H$&SIG7<;F_0/SGQ1LP=47@JV"W-=3$)A@'D."=+IJ]%_1G7@OH6+Q-,
MN7^HUW.C +*ETJ)<.QL&)>7^2Q[6@=AR2))7')*U0^)X^X4<RS.B23J6H@9I
M9QLTVW!2G;<A1[G=E9F69I0:/YW.M,CNX4ME0Z2 \!RN46E),XTY^,$;3K6"
M0SC)<VJG$087W.>#C>O^&6I"F3J /: <+BEC%FL<:D//+A)F:RI33R5YA4H7
M+@77A8)SGF/^W#\TLAIMR4;;-&D%O"2R ]WX R11TH>;V1GL[QVTX':;F'4=
M;N\5W-T1VB6X%<<>N&-5D0PG@3E1"N4*@_3]NW@0?6QAV6M8]AQZ]W=V=A>Y
MWAN0ZS?D^JTA/!6EN5>4SZ!,*&U..",VHEH %_QP96)L+.5$B*WTE$_!]X.D
M)C)7QDG#(UJ<3"PX_?YS!GG-GE7L3X.]L59I/.H,QN%JAYA!(V;0*N;6'7W,
M#\D*I;G*H$))10["F% 7-"N,Q)=ZVWBV+]B-H71'I64GCAKR1ZU8YV7%Q",B
M;.?++DJM,'^8+L.&Y/#O<GGX!N1&#;G1?YG+HY>Y/.S$HV>_W8D=1T_5(?K7
MJ?V+%5MS.]PJ="7*A2OGRJRZY-K7O*:W>3*<^$+Y--V_-TQQ6%"S#PSGQC7J
M')FK0?H2[@TM*E<V[X0V1=@U"_/L06DGF/&Y$'ICV 6:AU3Z U!+ P04
M"  ACJA:L6VFVQ8%  #H&P  &0   'AL+W=O<FMS:&5E=',O<VAE970U-2YX
M;6S%66MSHS84_2L:NM/)SFP"$MB0U/9,XG1G.[-I,TEV^UG!LDT7)%>2[>3?
M5SR"# @USI#V2P+XZG".'O<>I,F>\1]B38@$3UE*Q=192[FY<%T1KTF&Q1G;
M$*I^63*>8:EN^<H5&T[PHFB4I2[RO+&;X80ZLTGQ[);/)FPKTX226P[$-LLP
M?[XB*=M/'>B\/+A+5FN9/W!GDPU>D7LBOVUNN;IS:Y1%DA$J$D8!)\NI<PDO
MYG[1H(CXGI"].+@&N91'QG[D-[\MIHZ7,R(IB64.@=6_'9F3-,V1%(^_*U"G
M?F?>\/#Z!?US(5Z)><2"S%GZ9[*0ZZD3.6!!EGB;RCNV_T(J0:,<+V:I*/Z"
M?17K.2#>"LFRJK%BD"6T_(^?JHXX:*!PS U0U0"U&P0]#?RJ@5\(+9D5LJZQ
MQ+,)9WO \VB%EE\4?5.T5FH2F@_CO>3JUT2UD[,YR]3PK_-QV1&0,B' *;@C
M<8J%2)9)C//.%F#)6::Z/-YFVQ1+L@!,K@D'<;?UR361.$G%1X7S[?X:G'SX
M"#Z A(*'-=L*3!=BXDI%/'^]&U<DKTJ2J(>D#VX8E6L!?J4+LFBV=Y7@6C5Z
M47V%K( WF)\!'WX"R$,C Y_YZYL'%CI^/0A^@>>_:A 2JKJ5@).\.S^:.JL$
M"\Q@^;J_$!L<DZFC0 7A.^+,?OX)CKU?3$H' FOH#FK=@0U]=H533&,"L 1J
M.H%'LDHH3>C*)+I$&A=(>6[:S<9^$**)NSM48WW?&]6,:C6C8]00NC#I*#%&
M!SK"41"-6CJL;WJCCG&M8VS5<5LEZ:\)?DS21#Z#R\5?*A.IY"U-BJQHQT['
M@< :PL-:>#CD,@R'U#T06$-W5.N.!EN&46?ZGB+?;\W>J+-63P.HEVJ#Y'E-
M\MQ*\H%)G!K+3F.@%'OE;8AR&*T2]@E098K8$DC\1(PUZ/PUT@Q!O=*@IXNP
M9Q7WNZ*&,[:E\H"XJK*2 8)Y/A;FJNEUV< 687M,D^^!:8 #I+H*I-6C09N@
M(2J ?@]%I"DB*\7/..'@.TZW)!_T:\*3'<X=H[DCK5C'KN6AT)K*M9F @[H)
M.*B=& JMJ5T;"CB<HZB@&A///V]78D-4T+=^M%. =JOP1Y][?GOV@EUC 5$G
M&72#3GN7FO8+T&X8WC\U5P2:F23L9))N%(IZQ&E/ *VE]\VI.>P.QZA=3 Q!
MIZAO<NEJ#H\JYWW)V5#)#1.F&Q7V\-.%'-HKN?K\5A_7%,RWG!,:/X,'CJE(
MB[GP+U;3CGQTKAH(K?D)JHL^\H;,T\AJ(8[5/A1:4[LV$.@H V'-T\A@$& 4
MM#_]C&%HY)FG*])& MF-Q#ODZNJ-C>3@G;?U=(-4KNZ3H]T!LE;@_R!95P2:
MQ,..DS:&^5&?0&T!T%$6H"?](4/Q-Y$TA?63U 8 V0W Y<%66CG!FMG@JQH#
M(^V!-@8J=>^QS8"T;T#C01/@H!L-0Z$UM6M;@>RVXJ@$:+()0>BUYZHA#([[
M_ 32?@+9_<1[),"NK4!^1X_)H00];A5I^X'^[XT$9-I)0$%'GR$,AN/ +-#7
MOL)_E\T$O[M1 $?M(FL(4M)Z&&LWX ^QG5"!-+:5D!=%;8J&,!A&XQ9)]^#,
M)"-\51PE"34C5+^5!PGUT_*XZ@I>S(M3G=;S2WAQ61S>N!JF/ .[P5RM:@%2
MLE20WEFHNHV7QTKEC62;XF3FD4G)LN)R3?""\#Q _;YD3+[<Y"^H#_=F_P!0
M2P,$%     @ (8ZH6C=CI5 5 P  W0T  !D   !X;"]W;W)K<VAE971S+W-H
M965T-38N>&ULM5?1;ILP%/T5BU53*VW%!A)"ER"UB=;M85+5M-NS"TYBU6!F
M.TG[][.!$$@I6Q?Z$FQ\S^&<ZVMR&6^Y>)0K0A1X2E@J)]9*J>S"MF6T(@F6
MYSPCJ5Y9<)%@I:=B:<M,$!SGH(39#H1#.\$TM<)Q?N]&A&.^5HRFY$8 N4X2
M+)ZO"./;B86LW8U;NEPI<\,.QQE>DCE1]]F-T#.[8HEI0E))>0H$64RL2W0Q
M19X!Y!$_*=G*VA@8*P^</YK)]WAB0:.(,!(I0X'U94.FA#'#I'7\+DFMZID&
M6!_OV+_FYK69!RS)E+-?-%:KB36R0$P6>,W4+=]^(Z6A@>&+.)/Y+]B6L= "
MT5HJGI1@K2"A:7'%3V4B:@!MM!W@E #G7P%N"7!SHX6RW-8,*QR.!=\"8:(U
MFQGDN<G1V@U-S3;.E="K5.-4."=+O2E*[TC&A:+I$N T!A%/(WU78)-J"3Z#
M71B6DB@)3F=$8<KDF5ZZG\_ Z<D9. $T!7<KOI::08YMI=699]A1J>2J4.*\
MHN0'%N? 19^  YU!"WS:#9^1J()[3;BM<U(EQJD2X^1\[A&):3-9L'KMK.90
M7L@,1V1BZ5,GB=@0*_SX 0WAES;+/9$U$N!6"7"[V,,[KC K-[S-:($>YFCS
MLMB$R!DX"([M3=U"2QAR/2^HPAKBO$J<URGNFO-X2QEK$U8@![4G.A"-#F2]
M#$)!,&H7-:A$#3I%S6;S-CV=H+=61$]D#7_#RM_P78[$L,\$]$362(!?)< _
MZDCX+XL*.K[C'M3>R[  #4:O%-^HTC;JU#9_3GE,GMID=0+?FO^>R!H>@\IC
M\"X%&/29@)[(&@E </]W#8\JP1)>+R[/]PXKL#4J@.T5B&J]!.H4=[FDC*KG
M5EV=R+?N05]L39_[U@"]3V^ >FT.^F)K)F'?'J#C^H,2WG@;^K[G'99B6QCT
MT2NUN&\0T/]W""5TV&@1X&'G\K>H0IA=Z[W-AX]N8Y=4]\R,+#0,GOO:F2B^
M)8J)XEG>CC]PI9O[?+C2WU]$F "]ON!<[2:FPZ^^Z,(_4$L#!!0    ( "&.
MJ%I$6M)O<P4  ,$<   9    >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;+69
M6V^C.!3'OXJ5':UFI&G!-M=N$JF7O<Q#I:K9V7VFB9.@ 9S%3M)^^S678,#&
M2=K,2PODG,/_'./S,WB\I_D/MB:$@]<TR=ADM.9\<V-9;+XF:<2NZ89DXI<E
MS=.(B]-\9;%-3J)%Z90F%K)MSTJC.!M-Q^6UIWPZIEN>Q!EYR@';IFF4O]V1
MA.XG(S@Z7'B.5VM>7+"FXTVT(C/"OV^><G%F-5$6<4HR%M,,Y&0Y&=W"FWOL
M%0ZEQ3\QV;/6,2A2>:'T1W'R;3$9V84BDI Y+T)$XM^.W),D*2()'?_504?-
M/0O']O$A^A]E\B*9EXB1>YK\&R_X>C(*1F!!EM$VX<]T_Q>I$W*+>'.:L/(O
MV->V]@C,MXS3M'86"M(XJ_Y'KW4A6@XBCMX!U0ZH[^ ,..#: 9>)5LK*M!XB
M'DW'.=V#O+ 6T8J#LC:EM\@FSHIAG/%<_!H+/SZ=D948%"Y&9$-S'F<K$&4+
M,*?97%S-HZ+4[ K,XE46+^-Y)"SC;$Y3 AB/."E=/S\0'L4)^P*NP/?9 _C\
MZ0OX),S WVNZ92(<&UM<2"UN:,UK67>5+#0@"X-'FO$U []G"[+H^ELBQ29/
M=,CS#AD#/D;Y-<#P*T V<C5Z[D]W=PQR<%-V7,;#'RB[KFI55$<?M9CR-VP3
MS<ED).8T(_F.C*:__@(]^S==RA<*UBF TQ3 ,46?/I,=R;9$FV3EZ96>11O:
M3=T .Z+LN[9ZU0IYKBVM.K+<1I9KE/40YZ*_ -$EBT$0PS*GC&M%5G'<UNVQ
M:X>H)U*U@E[@A7J17B/2,XK\,Z>,@4U.ES'72?.4FR*,W+XTU2KTL*M7YC?*
M?*.RF6C'AX<Y6HAV%;/R:=X10%X%>9A^P'VU2DX8V#W!JE6 [0'!02,X."*X
MFH=RP*OVIE,9J/='?K^JJA'$V-:+#!N1H5'DMXP3,0,/K?<KR(AVW$/EWE<0
M^3V!&J-@8-) 6T+$/J*P9,(+$>L*4CR9N[CDO#@]\()'K_K!KT-WQS4,>[(U
M5M"!0\);](/F^?XPTVHR>IW;9R\5K9LCDCFBG\*:.NREBG"A:-TB2-Y"(\V,
MO*E=V\^6:P<8]A]!U0R&_E '@I*$T(S"TYE3!^I !T*[WX,T9A!#QQ\0*MD(
MS7 \QAVHH5WH(V4JJV:>ZP8#ZB04H9F*[V0/5#D(H1OV5QL:,]</A\9>\A(>
M ^;I_($: ,(6L6NAJI7OX0&=$I/0S,E3$015_FD8I+,*AFHI*0F/8?(#$%*Q
M&"!/F5@:*V?@P442GL@,S]E;1A?D52?+['EN"[Y4M&Z>DK4(_A0.H8O"^%+1
MND60,$9&SADY5+MV%NXVQ+V'4&,% Q\./(42D,@,R-,IA#0<=+P^+;56K>5R
M5Z:$)3+#\AB#D,H^5WGUT1BU5YQ=:1*/R(S'=P((J3A$@==7K$$K&NCJ2"(3
M'4/FZ?1!FK=*3Y&I,?*] 9D2DL@,R8\T=J3B4"-;8S0H6S(3F9EYNXJ3F+]I
M51D]SVYI%XK6S5-R%X4_IZ\;<7YV$2X4K?LY3T(<FR%NZNM8?7=U7;O_>4-C
MY81H8'6!)77QD3?<D_MZ':@S"UQE]:ZS0N[ %PXLN8C-7#S6U[&&C:'?AX[.
MRO.':MCZ6&MFXSL[.U81B*$Z[JH5PL' RQJ6H,1F4)[3V['*0[%J5T9>M4+A
MP+H#2VIB,S5/?;,PASG[T[>&IP.92)IB,TT_@JDZM'=D!%0K%/:GGM7:#$I)
MOBKWR)B8]MN,5_LES=5J'^X.WMR7VU6]Z[?PYK;<E;)DF&IS[S'*5W'&0$*6
M(J1][8LZYM5^677"Z:;<<GJAG-.T/%R3:$'RPD#\OJ24'TZ*&S2[EM/_ 5!+
M P04    "  ACJA:>Z\Y/L$#  "7$@  &0   'AL+W=O<FMS:&5E=',O<VAE
M970U."YX;6RU6&N/FS@4_2L6K5:MM#M@2 B932+-9+K::M7=T:2S^]D3;L J
MV-1VDLZ_KPV$1T)0TR5?$FSN.=S' 5][MN?BBXP!%/J6)DS.K5BI[-:VY3J&
ME,@;G@'3=S9<I$3IH8ALF0D@80Y*$]MU'-]."6768I;//8K%C&]50AD\"B2W
M:4K$ZSTD?#^WL'68>*)1K,R$O9AE)((5J.?L4>B17;&$- 4F*6=(P&9NW>';
M)9X:0&[Q+X6];%PC$\H+YU_,X&,XMQSC$22P5H:"Z+\=+"%)#)/VXVM):E7/
M-,#F]8']CSQX'<P+D;#DR7\T5/'<"BP4PH9L$_7$]W]"&=#8\*UY(O-?M"]M
M'0NMMU+QM 1K#U+*BG_RK4Q$ Z!YN@%N"7"/ :,S *\$>'F@A6=Y6 ]$D<5,
M\#T2QEJSF8L\-SE:1T.9*>-*"7V7:IQ:K"#215&Z(AD7BK(($1:B-6=K/2N(
M2;5$OZ$GV ';@D0OKR@"'@F2Q53S0V1J\>X!%*&)?*\MGU</Z-W;]^@MH@Q]
MCOE6:D(YLY5VUCS27I>.W1>.N6<<\] GSE0LT0<60MC&VSK(*E+W$.F]VTOX
MB8@;Y.%?D>NXXPY_EC\.'_6XXU6)]W(^[W\DOBMK!>NHF]6\]+<R(VN86_JM
MEB!V8"U^>8-]Y_>ND <B:R5@5"5@U,>^.$BJ*\@"Z>=(\R':+<:!-])IWS6]
M/[5R_;%36[7<&E=NC7O=>F9408A6BJANWWKAEQ9@(+)6I'X5J7\5!?I#)F @
MLE8")E4")C^MP (Y;FAK% 33R9$"3ZWP))BXW0H,*K>"7K>6A)&0=#G5B[LT
M\P.1M4*<5B%.KR*]Z9 )&(BLE0#LU.NN\]/B*Z%-7;D3USL27Y>5Z_K=XL.-
MA@#_R ?P+UV5D*>=[O427%J&H=C:X;IUN.Y5I%C2#I6$@=C:2:A[$=R[TO>+
MT3N5V:@ALS* #BMW-#TCQKI'P/U-PN<8T-^@8A#)V3:RE^'B0@S$UHZW;C[P
M^#IJ'+0K&8JMG82Z+\&]JWZ_&OU3G6%_?*S&#BO'.Z?&NE_ _0W#/T:(9CN4
M"<K6-"-)\HJXF40?MD)OK0G3M=KJ2M$SWO?R7URF@=C:V:C;%!Q<1ZN#MC%#
ML;634#<RN+=-Z-?J]'2#@KV39;S+"@='6K4;6_P41)2??,A";<4>N)HM3E?N
MS>F*.2(XFK_#MW?Y68-=TQ1'-GJ'&U&]VT]@HRF=FXE^?41Q"E(,%,_R@X07
MKA1/\\L82 C"&.C[&\[586 >4)U%+;X#4$L#!!0    ( "&.J%IE&!2G900
M $T<   9    >&PO=V]R:W-H965T<R]S:&5E=#4Y+GAM;+5976_;-A3]*X16
M#"W01B)ER4YF&U@3; O6 D'=;,^,1<M$)%$CZ;CY]R-E11)MFK!1^L46I7N/
M[L>Q=70YW3+^+-:$2/"C+"HQ"]92UC=A*)9K4F)QQ6I2J2LKQDLLU9+GH:@Y
MP5GC5!8ABJ(T+#&M@OFT.?? YU.VD06MR ,'8E.6F+]^)@7;S@(8O)WX1O.U
MU"?"^;3&.5D0^5@_<+4*.Y2,EJ02E%6 D]4L^!W>W,:1=F@L_J%D*P;'0*?R
MQ-BS7MQGLR#2$9&"+*6&P.KKA=R2HM!(*H[_6M"@NZ=V'!Z_H?_1)*^2><*"
MW++B7YK)]2R8!" C*[PIY#>V_8NT"24:;\D*T7R";6L;!6"Y$9*5K;.*H*35
M[AO_: LQ<("C(PZH=4"G.L2M0]PDNHNL2>L.2SR?<K8%7%LK-'W0U*;Q5MG0
M2K=Q(;FZ2I6?G"](KIHB54=JQB6M<H"K#"Q9M51G.=:E%N 3^,*J_%.A"IX!
M+ 21 CR]@IRPG.-Z3=6-2*Z;\OZ.2$P+\4&Y/"[NP/MW'\ [0"OP?<TV0B&+
M:2A5U/K>X;*-\/,N0G0DPJ^87X$8?@0H0HG%_=;M?D>6G?O(= ]5K;J"H:Y@
MJ,&+?Z)@MB1WJ",[JOZQWH@:+\DL4+]&0?@+">:__@+3Z#=;RI[ C +$70%B
M%_I<4T&U=T@&6[X[D+0!T?\E+W,TBJ-X&KX,$[%8Q>EUU%D9$8ZZ"$?."!\K
M*E5L"XDEL<;F=#^W%Y[ C$R3+M/D(F1,?!; $YA1@+0K0.J#C#N09$ S&*7Q
M/AEM5G""[&0<=Q&.G1'>X@IGV!:4T^_<)G@",U*<="E.+L+"B<\"> (S"G#=
M%>#:!PNO#_B5(CC:(Z'-*$WL'(11_Y2/3OE+_%LU)V.E]2'L!#BW&[[0S'0'
MH@9>A)$MK*\B>$(SB] +%>B4 :>RLD49,FX\V6>EQ6@2I4=8V2L)Z)82#VM:
MT+I69^V1.;W/[H8G-#/77I/ T64HZ56L^$(SB]#+%>@4 R=3,CE@6YP.Z-;F
M8K%*XB./:]@K"NB6%/=51JW/:[??V9WPA&9FV:L2.+X,';VJ%E]H9A%ZW0*=
MJN!D.DX.B*;>4L;[=+18H00>H6,O+:!;6RPX!5]P]6RGI-/W[&YX0C/?JWN-
M@J++O%E[52Z^T,PB],H%.47!J91L4?:TY!XC+4;)9&PG)!K,/]RRXEYP3 IK
M4'YG')<8<J!>FZ#X,FST*EI\H9E%Z$4+<D]23F7CZ%!"[BM(BTT:'^%BKR>0
M6T_\27B)JU=K3%YG'+[0S#Q[38+2RY#1JV3QA686H9<LR#U).96,XP.B'7#1
M96)&UVL)Y-82WYG$!5@Q3FA>6>/R.N[PA69FVZL2='T90GH5++[0S#EX+UAB
M]U#EU$EX=##DADH^1ONC<)M9$DWVB!D.]GKT1MM7S'-:"5"0E?*+KL:*U7RW
M=[5;2%8WVS]/3$I6-H=K@C/"M8&ZOF),OBWTCE*W@SC_'U!+ P04    "  A
MCJA:/LYAS* %  "%+0  &0   'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6RU
M6MMNXS80_17"#8I=((DLRK>DCH'$;-$^9!NL-^VS(M.V$$ET1=K> OOQI2X6
M19EAK'3TDNC".<,YXHSF6)P>6/K*-Y0*]#V.$G[7VPBQO74<'FQH[/-KMJ6)
MO+-B:>P+>9JN';Y-J;_,C>+(P?W^R(G],.G-IOFUIW0V93L1A0E]2A'?Q;&?
M_OM (W:XZ[F]XX6OX7HCL@O.;+KUUW1!Q?/V*95G3H6R#&.:\) E**6KN]Z]
M>TN\86:0C_@KI =>.T99*"^,O68G?RSO>OUL1C2B@<@@?/EO3^<TBC(D.8]_
M2M!>Y3,SK!\?T7_+@Y?!O/B<SEGT=[@4F[O>I(>6=.7O(O&5'7ZG94#Y! ,6
M\?PO.A1CQ])CL.."Q:6Q/(_#I/CO?R^)J!EX-V\8X-( -PRP]X:!5QIX30]O
M36E0&@QR9HI0<AZ(+_S9-&4'E&:C)5IVD).96\OPPR1[[@N1RKNAM!.S!5W+
MIRCD(]RR5(3)&OG)$@4L">35U,^>#4>?"!5^&/'/Z *%"?JV83LNA_&I(^04
M,B G*-T]%.[P&^X\],@2L>'HUV1)EP9[8K=WL07 D;%7!. C 0_8BOCHI]?(
M<R\1[N,A>EX0].GB,^(E+<43H*EAIO/S<0<V'&+'(32HX1SG9\;3"/"J%>#E
M#KS_L0),#[I '9A1LW)UR[=^0.]ZLAYQFNYI;_;S3^ZH_XN)2T@P @2FL3FH
MV!S8T&=?=O$+31%;U?@L%Q-'/XZ')CX+W&&.FU7K_<R;.OLZ25;/;4D" M-(
M&E8D#:TDY6^7*[:ZVG%ZY7-.Q25*Y#ON![HP,5. C6K,#/K>J$&.U6-;<@P>
ML3>I/&I!CZJ@1]:@%WY$N5P5>YKLZ#'>>9G'>KZA-.2O\NX7EEP]+TR46%VU
M33Y(, ($IE$\KB@>=U+*QI!L0H(1(#"-S4G%YL2Z8.<G2_(2;6F:79,=H8G'
M F]22YO^M=M,5-,@KU'JB'5F'XS[IHK[QAJW["=EMYA4[UB9B/=!P'99!4]I
M0,.]_Q)1>_*:V+%Z;;O*(,$($)C&MMM7'6B_DZPM88$(!44C4&@ZI;6FW@5.
MW1*PD;OC1N[:W;8FR>AS9'[-NE@%CZW!_YG0>NZV?>\:V;%Z;+W4(-$(%)K.
MME(/;C?RP075#Z!H! I-IU1)"/=<#1%$828<C/R=Z@6WF:WO#B'VF7PT4J4#
M7+L0^$"=&AIJQN@D<M,H/&@&#Z09]."5'G#M@J!1IT!Z#+O+UED%J@R@T'2Z
ME39PNQ$'+J@Z $4C4&@ZI4H@N':%<%ZAFKQ?J(#:_9*4+L2#J]2#:Y</'ZAI
M-X9J-3PA";3EAT+3?W-5/3^V-L"S;P<&7OOL+MLF*B@:@4+3Z59Z +N=U#X,
MV>_/0=$(%)I.J5(9V*XRSJI]=HS6_('JAA*M7I>Q67IA)0:PM3/^0.VS [9F
M"%0&E&AO]IHZ2:J]Q_;V?J[JGOWGW^<D%'2)%L(7U+R\(+\(S$'1"!2:3K)2
M%GC83<6#_(XP!T4C4&@ZI4JO8+M>.:_BC4ZJ2K_1R-C=M":E"U6!E:K UA:[
MGLPP30RHV@!%(U!H.M5*;>!)-RD-J2[FH&@$"DVG5&D5;-<JYZ7TS?LI#:I-
MK [U/0Y*<'AVP5'+T\<P">-=#/33L-UOZWT0H*H#"DWG7*D.KQO5X8&J#E T
M H6F4ZI4AV=7'>T;[!*P\9&ED;]VKZTYZN*+A%?;S_2."#&E.LC+V>ZX]<*$
MW?34Q3<+3XD:;]!-KH-*&% T H6F4ZHDC ?]<<0S??8XR7503?*.RR)TI[8_
M56;;.M_GRU&>D<5.S>IJL9?XP;V=YUMN&]?OW=O[?&>MHV"*#<J/?KH.$XXB
MNI*0_>NQG%=:[/DM3@3;YKM@7YB0*9\?;JB_I&DV0-Y?,2:.)YF#:N?U[#]0
M2P,$%     @ (8ZH6C2JX%?F @  V@<  !D   !X;"]W;W)K<VAE971S+W-H
M965T-C$N>&ULK55=;]HP%/TK5E9-K=0UD ]".XA4Z*956B=4UNW936Z(U\3.
M; >Z?[]K)V1 4]2'O8"O?>_Q.79\[F0CY)/* 31Y+@NNIDZN=77ENBK)H:3J
M0E3 <243LJ0:0[ER526!IK:H+%QO,!BY)67<B2=V;B'CB:AUP3@L)%%U65+Y
M9P:%V$R=H;.=N&>K7)L)-YY4= 5+T _50F+D=B@I*X$K)CB1D$V=Z^'5/#+Y
M-N$'@XW:&1.CY%&()Q/<IE-G8 A! 8DV"!3_UC"'HC! 2.-WB^ET6YK"W?$6
M_;/5CEH>J8*Y*'ZR5.=39^R0%#):%_I>;+Y JR<T>(DHE/TEFR8W\AV2U$J+
MLBU&!B7CS3]];L]AIP!Q^@N\ML [+ A>*?#; M\*;9A963=4TW@BQ89(DXUH
M9F#/QE:C&L;-+2ZUQ%6&=3J^Y8DH@2Q DF5.)9#3&]"4%>J,?" /RQMR>G)&
ME%E1A''R/1>UHCQ5Y^1D+YZX&MD83#=I=YXU.WNO[.R3.\%UKL@GGD*Z7^^B
MBDZ*MY4R\XX"WE%Y0?SA.?$&7MC#9_[V\N (';\[6=_B^6\\V;X3:A""?@3S
M@*]411.8.OA"%<@U./'[=\/1X&.?O/\$MB<VZ,0&Q]#C;^@WK>#3KT*ILSZU
M#<3(0AAW6<=1-(XF[GI7Q<NDR_%EE[-'+NS(A4?)_;1O&5)"UR#1F@CR+-%"
MVL\:O4UI_(897_6Q;K##'4+^,/"# ]HOL[QQ%/K]Q$<=\=%1XC>LJ(W+$<@R
MM#TBLEVR1%3&"17!$ U5:<D2HQ(](WDB-6>Z]U6.7NH)AX>WT),4C$?]:J).
M3714S77Z"_T,"6+O(>E6&MY%56MJE/2QC7J(7(;# [H]69[G'WXV[HY-EB!7
MMGLH9%!SW=A,-]LTJ!DV*&OD!_/8N*ZM7[O_8)JNAR:R8G@E!60(.;B(D)-L
M.DD3:%%9,WX4&JW=#G-LOB!- JYG0NAM8#;HVGG\%U!+ P04    "  ACJA:
ML*YWOF,#   V#P  &0   'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6S%5VUO
MTS 0_BM6D!!(L+RVW48;:2\@^("8-@&?O>326G/L8#OK]N\Y.VG:;%U@*&)?
MVOCEGKOGL2^YFZ^ENM$K $/N2B[TPEL94QW[OLY64%)]("L0N%)(55*#0[7T
M=:6 YLZHY'X4!%._I$QXZ=S-7:AT+FO#F8 +171=EE3=GP*7ZX47>IN)2[9<
M&3OAI_.*+N$*S/?J0N'([U!R5H+03 JBH%AX)^'Q61A; [?C!X.UWGDFELJU
ME#=V\"5?>(&-"#ADQD)0_+N%,^#<(F$<OUI0K_-I#7>?-^B?''DD<TTUG$G^
MD^5FM? ./9)#06MN+N7Z,[2$)A8ODUR[7[)N]LXBCV2U-K)LC3&"DHGFG]ZU
M0NP8(,Y^@Z@UB!X:)$\8Q*V!4\YO(G.TSJFAZ5S)-5%V-Z+9!Z>-LT8V3-AC
MO#(*5QG:F?2+R&0)Y (4N5I1!>0].<ES9B6FG##17!0K^)MS,)1Q_1:W:+M5
MSWV#$5@</VN]G3;>HB>\Q>2K%&:ER4>10]ZW]S'R+OQH$_YI- CXE:H#$H?O
M2!1$DSWQG/V]>3(03MRI&3N\^ F\$V%8SGAMKR;1D-4*E01-X"[C-3(FA9(E
M0<6KVC2JRH( 58*)I285'H)3=I^PC>-DOV.;[,>ZHADL/,QF#>H6O/3UJW :
M?-BGRDA@/8V23J-D"#T]W^@#18&Y;!7 UXLV5.2H I&5U443'.)K0AO%,H/"
M82)D-Z06S.R]=HW+B7-IWURW:3P)9T$0S/W;7>)[]B6'T]U]/4Z3CM-DD-/'
MLN+R'H!<N3"_.0[[XAR$>>XIC@368SSM&$]?ZJ9/Q]1H)+">1K-.H]G_O^FS
MQS?8WO-'-WTPM'\D?M@1/QPD?KEETR3$]Z?8#.(\]ZQ' NM1/NHH'[U4/AR-
MJ=%(8#V-PF!;; 2#%\.5&)H(:;"T:(5AXJ$L3D=<X5+_09K6W6XV),E1G$0/
MDF$XK'^EO5-CA>-\'H9QGGO68Z'U64=;UM%+I43K>2R=1D+KZ[2M&</!<FO\
MI!BU5&S1>A^<Q_62O].!E*"6KC'3R*$6IJGFN]FF^3NUS9_M8![,8U-XXEHA
M?PO3=)18JR\9?BXY% @9',PP)-4T:<W R,KU.=?28-?D'E?8V(*R&W"]D-)L
M!M9!URJGOP%02P,$%     @ (8ZH6B<L,&L: @  ! 4  !D   !X;"]W;W)K
M<VAE971S+W-H965T-C,N>&ULK53;;MLP#/T502N&%M@B7Y)VR&P#;8)A?2@0
M-.CVK-A,+%073U+B[N\GR8[A FZWA[U8HL1SR$.3REJEGTT-8-&+X-+DN+:V
M61)BRAH$-3/5@'0W>Z4%M<[4!V(:#;0*(,%)$D771% F<9&%LXTN,G6TG$G8
M:&2.0E#]^PZX:G,<X_/!(SO4UA^0(FOH ;9@GYJ-=A896"HF0!JF)-*PS_%M
MO%REWC\X_&#0FM$>>24[I9Z]<5_E./() 8?2>@;JEA.L@'-/Y-+XU7/B(:0'
MCO=G]F]!N].RHP96BO]DE:US_ 6C"O;TR.VC:K]#KV?A^4K%3?BBMO.]<1'+
MH[%*]&!G"R:[E;[T=1@!XOD;@*0')/\*2'M J!SI,@NRUM32(M.J1=I[.S:_
M";4):*>&2?\7MU:[6^9PMEB#9B?J2VG09W1;5<Q7EW)T+[L6\;6^7(.EC)LK
MY_*T7:/+BRMT@9A$#XQSYV R8ETNGI&4?=R[+F[R1MP'JF<HC3^A)$H6$_#5
M^_ UE -\_AI.7 6&,B1#&9+ E_Z]#%-:.O!\&NP';6D:6D*.W209T"? Q<</
M\77T=4K9?R)[I3,==*;OL8]T(JGZ/TV%.DH[);OCBKO>\>_!J8AO9DE&3F,]
M$UY),EL,7EVB9-2C_GUP#7!@TB .>P>+9C<+C'0W<YUA51/:=J>L&X*PK=TS
M!=H[N/N]4O9L^$D8'K[B#U!+ P04    "  ACJA:] 57J74"  !M!@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970V-"YX;6RM55%OFS 0_BLG5DVMU 4"I%L[
M@M0FJK:'256[=L\N7()5L)EM0BKMQ^]L"*):FNZA+XF-[_NX[_/=D;12/>D"
MT<"V*H6>>X4Q]87OZZS BNF)K%'0R4JJBAG:JK6O:X4L=Z"J],,@./,KQH67
M)N[9C4H3V9B2"[Q1H)NJ8NKY"DO9SKVIMWMPR]>%L0_\-*G9&N_0W-<WBG;^
MP)+S"H7F4H#"U=R[G%XL8AOO AXXMGJT!JOD4<HGN_F>S[W )H0E9L8R,/K;
MX ++TA)1&K][3F]XI06.USOV:Z>=M#PRC0M9_N*Y*>;>%P]R7+&F-+>R_8:]
MGIGERV2IW2^T?6S@0=9H(ZL>3!E47'3_;-O[, ),XU< 80\(_Q<0]8#(">TR
M<[*6S+ T4;(%9:.)S2Z<-PY-:KBPMWAG%)URPIETB8IOF+52PR>X9ES!AI4-
M@ER1&[LSX$(;U=#M&0W'2S2,E_J$ /=W2S@^.H$CBH"?A6PT$[E.?$.IV1?X
M69_&59=&^$H:/YB:0#0]A3 (9WO@B\/P)68#/'X)]\F0P95P<"5T?/$K?)=9
MIAK, ;?4+9JL(54@38$*_@"5#Q6'H-M1"D7V#-1++5,Y9%(8176I*6B)FF*8
M(1*FH<!\S<5Z9.,^BP[F9-OY0M<LP[E'_:I1;=!+/WZ8G@5?]QGV3F0O[(L&
M^R+''KU=5*==33W8FMJG.7I/S>]$]D)S/&B.#Y;,N)'R-RY_;X-T]&>.WL[>
M33J=18F_&0O\-R8^/Q]BNKS]T3"P@YA:BUZOH<05H8+)YYD'JAMNW<;(VLV'
M1VEHVKAE0=\#5#: SE=2FMW&CISA"Y/^!5!+ P04    "  ACJA:7;W=]* "
M  "&!@  &0   'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6RM55UOTS 4_2M6
MF% GL>6K'6BDD6@+8@^#:6/P["4WB35_%-MI![^>:R<-W99M//"2V,X]Q^?<
MQ"?95NE;TP!8<B>X-/.@L79]&H:F:$!0<ZS6(/%)I;2@%J>Z#LU: RT]2/ P
MB:*34% F@SSS:Q<ZSU1K.9-PH8EIA:#ZUP*XVLZ#.-@M7+*ZL6XAS+,UK>$*
M[/7Z0N,L'%A*)D :IB314,V##_'I<N;J?<%W!ENS-R;.R8U2MVYR5LZ#R D"
M#H5U#!1O&U@"YXX(9?SL.8-A2P?<'^_8/WGOZ.6&&E@J_H.5MID'[P)20D5;
M;B_5]C/T?KS 0G'CKV3;UT8!*5ICE>C!J$ PV=WI7=^'/0#RC .2'I \!$R?
M *0](/5&.V7>UHI:FF=:;8EVU<CF!KXW'HUNF'1O\<IJ?,H09_,5:+:AKI6&
M')&EDE9C9PUVPK!:4@LEH884U#2DPC=.&BAK+)VLP%+&S2&"KJ]69')P2 X(
MD^1;HUI#96FRT*(\MTE8]%(6G93D"2DI.<?M&T,^RA+*^_@0;0W>DIVW1?(L
MX3G5QR2-WY D2F8C>I;_#I\^(R<=6IUZOO3E5H\UIP-/Q\'N,)^:-2U@'N!I
M-: W$.2O7\4GT?LQ9_^)[)[/Z>!S^AQ[_@6SI\;\(!.N#'XA&@I52_8;/R5<
M_+H\&W/?49YX2I<\FSQ.XBS<[)MZ7',4IT/-/:VS0>OL1:T3)_:0.+%.*Z?&
ML(JAVDHK@3E3M*+E_B2@=K1@%5X*)6#,Q^RQCUGZP,?CFJ,]KYV/<.]("]"U
M3SH\B*J5MCL!PVH7I@L,4Q\Z#]8Q9#_X; G_TG0)C=]WS:0A'"JDC([?HB[=
MI5XWL6KM@^-&68PA/VSP1P':%>#S2BF[F[@-AE]/_@=02P,$%     @ (8ZH
M6BZ-]?HT!   W1   !D   !X;"]W;W)K<VAE971S+W-H965T-C8N>&ULO5A;
M;^(X%/XK5G:TFI$ZY,*EM M(+6TUE;::JLSE8;0/)AR(=QP[8SM __T>)R%
M)HUF(KHO$,<^E^^S??@.HXU4WW4$8,@VYD*/G<B8Y-)U=1A!3'5')B!P9BE5
M3 T.U<K5B0*ZR(QB[@:>-W!CRH0S&67O'M5D)%/#F8!'170:QU0]7P.7F['C
M.[L73VP5&?O"G8P2NH(9F,_)H\*16WI9L!B$9E(0!<NQ<^5?3OV^-<A6?&&P
MT0?/Q$*92_G=#NX78\>S&0&'T%@7%+_6, 7.K2?,XT?AU"EC6L/#YYWWNPP\
M@IE3#5/)O[*%B<;.T"$+6-*4FR>Y^0 %H"S!4'*=?9)-L=9S2)AJ(^/"&#.(
MF<B_Z;8@XL @"%XP" J#H&+0&[Y@T"T,NAG0/+,,U@TU=#)2<D.478W>[$/&
M36:-:)BPVS@S"F<9VIG)WS@F'Y=DJF#!#'E[ X8RKM^1]^0)UI*OF5CM)N]H
MR#@SS^0-88(\,,YQ(_3(-9B']>:&1<QI'C-X(6:7/$AA(DUNQ0(6Q_8NYE^"
M"'8@KH-&AU?IJD.\_AD)O*!'/L]NR-LW[^KR:G;S0%6'=/W,3;_>S5%ZW9+C
M;N:WV\2QW'%<D]=U;M^KM[<W^5(G-(2Q@U=5@UJ#,_GS#W_@_54'\D3.CJ#V
M2JB])N](X9;%:4SF4J&E/3LAQ6!X:.I@Y[X&F2];;]:3KC=RUX=@&L.U!-,O
MP?1;@L&J-_\7"Q$QDM D47)-N=UA$P'A@*=:U<'M_P2W7X7;F%!+N(,2[J 1
M[B.H$(3!XFVA &<K-N> A3:4J3":A'C9&4*#!<&?#ZR5!A16))J58[38TV3K
M:AT!>?SA 0%>9]BO4-"89$L*SDL*SMM0D(HY%CO$?4(NSNNXJ%#1F&Q+*H8E
M%</?H()R_KIT#&OHZ%;H:$RX)1T7)1T7;4X&HD6A($[)Q,6O7)+&9%M2X7M[
MS>"U/1NO0$B1S#$C0860YHS;,G*@HOQ&1JYBB_9_8</_Z5>D5^6B,=>V7 1[
M+H)&+G9R)\Q5X[)0C6>_ J[1\^\*H<*;[Q]P%?B=/5W' /=RSF^44)-/$0:/
M)%]809XIA"7;XHZ&$55X)4*Y!F7OAK+;BKW.CY39#4>M, =B6RN4V*(J? L"
M\LA^<)"RW_&K&_P:$L_?:SR_6>3="SRUH(T%6+^-)U)M!=K<V\71_?>"H/_"
M/N[EG=^L[VY@;LB]T$:EV)B:,_*%*D;MO2T1/B'",_+I.0'R[79K;/MJYV\%
M6F3;*_ZI)>!$.JX@H!E&JM^O*$TN9Q"F>,X^XND3MGF]P[HB0KQN%L1,+M4#
MQ/.J,LVI<P\:2 2VROIJ6ZVP:.6]9/FV[-VOLH[5W2_/&W]LHE9,:)3!2S3U
M.N>8O,I[Z7Q@9)*UHW-IL+G-'B.@6!/M IQ?2FEV QN@_$=C\A]02P,$%
M  @ (8ZH6@G5C)\Z P  R!,   T   !X;"]S='EL97,N>&ULW5A=3]LP%/TK
MD1D32!-IFQ&:T5;:*B%-VB8D>-@;<ANGM>38F>.R=K]^OG::?N"+& ];NU0T
M]CT^YQ[;-\0PJ,U*L+LY8R9:ED+60S(WIOH0Q_5TSDI:7ZB*28L42I?4V*Z>
MQ76E&<UK()4B[G4Z:5Q2+LEH(!?E36GJ:*H6T@Q)VH8B?_N<#TDW?4\B+S=6
M.1N2A[.W/Q;*7+^)_/WDW<E)Y^'\>C]^YH!S$@=%+U\@>M'!=2V&2:>[TF[X
MJ17RQ%.,=A6@V2P;)G0P<O]%TWEF-IAP%G2UY<D1XV8G1X-"R<V&)L0'K#(M
M6?1(Q9",J> 3S8%5T)*+E0_W(#!50NG(V$JRJ;H0J7]YN.M[4&2-3LFETBZW
MS^"_)\WP/6#= X-<B-9@C_C :%!18YB6-[;C!KO@$RAJVO>KRCJ<:;KJ]B[)
MAN!N-LE$Z9SI-DV7K$.C@6 %V-%\-H>[454,H#&JM(V<TYF2U'E8,YJ&E9TR
M(>[@"?Q>[&@OBZT]Z\".R;9I#35-+^,[H+^MYK6W99-7Z485?U3FT\).1[H^
M%!F[U:S@2]=?%JT!3+V+J].J$JN/@L]DR?SD7YQP-*!K7C17FO^RV:!4IC;
M-(D>F39\NAWYJ6EUSY9F74[+ O?<.T+/?W>=9TPR3<6V:5O[A[S*KW:<7/TK
MR^ZWRK[AH,?FM7KH)B^/P61Z#":/H":3[/ ]-D>M0S=YF"L9-X>,K9/,SCFF
MC49P7AR2;W#R%)NDT63!A>&RZ<UYGC/YY#ACY0V=V#]3=O3M^)P5="',?0L.
MR:;]E>5\46;MJ%M8B&;4IOT%IM=-V\.JS<5ESI8L'S==/9NX9F0;-FMS 6$?
MN7%7&,$X'@LC@&%Y, <8Q[.P//_3?/KH?#R&>>L'D3[*Z:,<SPHA8_?!\H0Y
MF;W",\VR)$E3;$7'XZ"#,;9N:0H_837,&S"P/)#IS]8:WVV\0IZO VQ/GZL0
M;*9X)6(SQ=<:D/"Z 2/+PKN-Y0$&M@M8[4#^<!ZHJ3 G26!7,6_8$XPC688A
M4(OA&DU39'52^(3W!WM*DB3+P@A@80=)@B'P-.((Y@ \8$B2N/?@WOLH7K^G
MXLW_[D:_ 5!+ P04    "  ACJA:EXJ[',     3 @  "P   %]R96QS+RYR
M96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY
M/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL
M/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%":4A+,P[PS=)_,O?S##5%
MY4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.
MW&,EC'%BM/XU@LD/['X 4$L#!!0    ( "&.J%KDGRIZ-@4  -8K   /
M>&PO=V]R:V)O;VLN>&ULQ9I=;^(X%(;_BL75[$47\MF9JE1B2SN+Q$!5F-G+
ME9L8L)K8R#;TX]?O<1AVG#9[M#>G7(4X(3PQL9_7=BZ?M'E\T/J1/=>5LL/>
MQKGM1;]OBXVHN?U=;X6"(RMM:NY@UZS[=FL$+^U&"%=7_7@PR/LUEZIW=7F\
MUIWIASO:B<))K:#0%_R0XLG^.NYWV5Y:^2 KZ5Z&O>9S)7JLEDK6\E64P]Z@
MQ^Q&/_VIC7S5RO%J41A=5<->=#CP0Q@GBW?%"P^YY ^V*7'\X9X#R+"7#^""
M*VFL:\YHKL^!<2_@Y,/>SNE;63EAQMR)KT;OME*M_67@+OK!;33U<-P>*O'"
M_)]JU*N5+,18%[M:*'>H1R,J#ZCL1FYMCRE>BV'O> KCJF0WRD$EL8DZ7 K.
M]7<*/STI#W?M #>H0W,AX8"9E TX'>3U?#:^F2UNQ@P^+>;3R7BTA)T_1M/1
M[/J&!9 Q AF?$/+O.(!,$,CD))"+)6R^W<P"R!2!3$\(V:K)#(',3@F9!) Y
M IG30BYV=<W-"],KMI!K)>%K'-KZJ"CT#MIZ 'F.0)[30OZDL>Q>%$+N>?/C
M_X)]1L ^TX)]U;I\DE75](T3$(-:>P VLA9ZY8#Q"\+XA99QH@I="[;DSR(D
MB@98;SV@99IOA8%2M693P6V;"[4(L4:F6JW/0+HUTP^57!].".$P>T34^M!U
M+9T_R3;/VS4D$:A"H0K9KD','A&Q/A9.%X]LOFT.-)CWPCHC"R=*MG A)N:/
MB%H@NH88N1'*0NABE;:M"L2D$1%;8R'63=HR8JM-TT1\)19:%5!J>(B):2,B
M]L;/7N5.&+;8<!/VQQ%FBHA8%6-A0! ^2K?^4<P1$;$DIE()[]=K(TK9:@&8
M%2)B+=SQ%[:W_@]LO@Z/%QM+6T!3V+7^S1CS1$SLB0FTSQ(>L:7AI6\*(V-
ML:+I T-&S!DQL3/0!-7*HC$Z]B"V!XX9IM$8\T=,[(^.J,<^+?W&_A8R8O*(
MB>6!I[[68!,S24QLDC#X==8AYH^8V!]O$V G(":2F%@DG5&PDQ)S2TSL%C1N
MM3L?3#8QL6S>QZVNFDPPU23$JD%S5WMR!K--0FR;M[FKLQXQSR3$G@D"6"<;
M.K5%/3A!'9B&F)A?$F*_X)A9B(GY):$>J:"8>8B)F28A-DUGHA@+QV75?C(Q
MVR0?/\/%SJ JH1WY^?80$]--<LKYKG8GB>DF(=8-CAEFW1133DJL'!PS[(Y2
M3#DIL7)PS+ [2C'QI,3B:<7=,[]ED# %"-U+/)S)3C$'I<0.>H/Y77D^Z#U?
M(; Y_AQBH@LLQ YZG\\[NLP4TT]*K)]WA&?L5BH.?S6O@"K$Q/23?O1 YXS-
MX*<@#EL?-T-,3$ IL8 Z,/\2<KWQXPB^#R>$4DQ *?5<6O>HK.O9Q 24TH]W
M_GNJGGT*UR<Q 6748QYT]!AZ,L,$E%'/L*&8H2<S3$ 9]0P;BAEZ,L,$E)UR
MA:85VS-,0-F'K]! EP3IN.+6PE CQ$37^$^Y7--N0IB%,NIE?A2SU80P"V7$
M%L(Q6TT(LU!&/>N&8K::$&:AC-A"..9Y^ (*9J&<?)'G[916A\YS3$#Y1T^Z
MP="\+*4_#[)FV!?EF(#R#YQZ:Q$>7M<+,3$!Y<0":F/><FG8GE>[9HVT%";$
MQ 24$PNHC>D3G.$%Y+E26+E6X4)\C@DH)Q90L[H\/ZXN=[<=]/VRQCS]YF1[
M=5F*%5RPG,&U+907O"KN#/.;P_LO:>97K5>[JKJ&LKF::EX>7TL]OE)[]0]0
M2P,$%     @ (8ZH6A[?F5X< @  /2<  !H   !X;"]?<F5L<R]W;W)K8F]O
M:RYX;6PN<F5L<\W:2VZC0!2%X:U8+"#E^ZHDK3BCGF3:R@:04WXHMD$4K4YV
MWY8SL _J04\BS@@5B,L_X1,"GGZ50SONNU/=[?NZ^#@>3G75[,:Q_Y%27>_*
ML:UW75].YR.;;CBVXWDY;%/?KM_;;4FZ7.8TW,YHGI]N9RY>/_OR/Q.[S6:_
M+C^[]>]C.8W_&)S^=,-[W94R-HO7=MB6<=6DC\-U=TV7C=R=)S>+E[=5,[R\
M29/F#E((TOF##()L_B"'()\_*" HY@_*$)3G#[J'H/OY@QX@Z&'^H$<(>IP_
M2)8HXY(@:8(U@=:"7 N!UX)@"X'8@F0+@=F": N!VH)L"X';@G +@=R"= N!
MW8)X"X'>BGHK@=Z*>BN!WCIYV";06U%O)=!;46\ET%M1;R706U%O)=!;46\E
MT%M1;R706U%O)=#;4&\CT-M0;R/0VU!O(]#;)B]+"/0VU-L(]#;4VPCT-M3;
M"/0VU-L(]#;4VPCT-M3;"/1VU-L)]';4VPGT=M3;"?1VU-L)]/;)RVX"O1WU
M=@*]'?5V KT=]78"O1WU=@*]'?5V KT#]0X"O0/U#@*] _4. KT#]0X"O0/U
M#@*]8_*QDD#O0+V#0.] O8- [T"]@T#O0+V#0.^,>F<"O3/JG0GTSJAW)M [
MH]Z90.^,>F<"O3/JG0GTSI.?3;Y3[SI^'DJ]]GRM\?K?2?5X/K=<+W]9?NV<
MW.,7G--M17W^"U!+ P04    "  ACJA:I7\.<>X!  "0)@  $P   %M#;VYT
M96YT7U1Y<&5S72YX;6S-VLM.PS 0!=!?J;)%C>LG#]%N@"VPX =,,J51D]BR
M72A_CY,"$@@J4)&XFT:M[;D3CW16/;][]A0GVZ[MX[Q8I>3/&(O5BCH;2^>I
MSRM+%SJ;\M?PP+RMUO:!F)C-#*M<GZA/TS34*!;GE[2TFS9-KK;YY]BX?EX$
M:F,QN=AM'++FA?6^;2J;\CI[[.M/*=/7A#*?'/?$5>/C4=Y0L"\3AI7O U[/
MW3Q2"$U-DUL;TK7M\BZV;5E,SRW%<G^)+WITRV534>VJ39>/E-$'LG5<$:6N
M+7=%C_8GIWS#M/OD!^>/9?8%YIVWP?F8)Q;H]W%O(QE.3WTN1"$U^U_Q/3&7
M/OC]:)AV3?4/L_/U/KFP'N<1V?@X_(X_SOB]_B_[$"!]2) ^%$@?&J0/ ]+'
M,4@?)R!]G(+TP6<HC:"(RE%(Y2BF<A14.8JJ'(55CN(J1X&5H\@J4&05*+(*
M%%D%BJP"15:!(JM D56@R"I09!4HLDH4626*K!)%5HDBJT215:+(*E%DE2BR
M2A19)8JL"D56A2*K0I%5H<BJ4&15*+(J%%D5BJP*15:%(JM&D56CR*I19-4H
MLFH4636*K!I%5HTBJT:15:/(:E!D-2BR&A19#8JL!D56@R*K^4]9[YU;_W'\
M^"P[V_1O^6S\(]KB!5!+ 0(4 Q0    ( "&.J%I&QTU(E0   ,T    0
M          "  0    !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ (8ZH
M6@-^?SGR    *P(  !$              ( !PP   &1O8U!R;W!S+V-O<F4N
M>&UL4$L! A0#%     @ (8ZH6IE<G",0!@  G"<  !,              ( !
MY $  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4    "  ACJA:\BIMG[L%
M  #L'@  &               @($E"   >&PO=V]R:W-H965T<R]S:&5E=#$N
M>&UL4$L! A0#%     @ (8ZH6C_0[5\<"   =2$  !@              ("!
M%@X  'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0    ( "&.J%H.
MZC C^ (  /X)   8              " @6@6  !X;"]W;W)K<VAE971S+W-H
M965T,RYX;6Q02P$"% ,4    "  ACJA:]!&) ,H%  #V&   &
M    @(&6&0  >&PO=V]R:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%     @
M(8ZH6OI8/P)T!@  ZAL  !@              ("!EA\  'AL+W=O<FMS:&5E
M=',O<VAE970U+GAM;%!+ 0(4 Q0    ( "&.J%KA@Z.@_ <  'Q    8
M          " @4 F  !X;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4
M    "  ACJA:+/7XN@$0  #E+@  &               @(%R+@  >&PO=V]R
M:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%     @ (8ZH6I)-?LH[ P  I @
M !@              ("!J3X  'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+
M 0(4 Q0    ( "&.J%H)D:H8O08  %,9   8              " @1I"  !X
M;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4    "  ACJA:U03#N4P'
M   ^%0  &0              @($-20  >&PO=V]R:W-H965T<R]S:&5E=#$P
M+GAM;%!+ 0(4 Q0    ( "&.J%H98U6J"@4  !H-   9              "
M@9!0  !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL4$L! A0#%     @ (8ZH
M6JZVRABT @  SP8  !D              ("!T54  'AL+W=O<FMS:&5E=',O
M<VAE970Q,BYX;6Q02P$"% ,4    "  ACJA:BN5-$L,)  !+&0  &0
M        @(&\6   >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0
M   ( "&.J%K/GG+$;0<  'D?   9              " @;9B  !X;"]W;W)K
M<VAE971S+W-H965T,30N>&UL4$L! A0#%     @ (8ZH6HXPA3B"!   A@X
M !D              ("!6FH  'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q0
M2P$"% ,4    "  ACJA::X )$L ,  !^)@  &0              @($3;P
M>&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0    ( "&.J%KS6>89
M_ ,  $8*   9              " @0I\  !X;"]W;W)K<VAE971S+W-H965T
M,3<N>&UL4$L! A0#%     @ (8ZH6NK9I6OG!@  T1(  !D
M ("!/8   'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6Q02P$"% ,4    "  A
MCJA:X/MPO34%  "F#   &0              @(%;AP  >&PO=V]R:W-H965T
M<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( "&.J%JB?F&G2@(  )X%   9
M          " @<>,  !X;"]W;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#
M%     @ (8ZH6A.MA^M$ @  B@8  !D              ("!2(\  'AL+W=O
M<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4    "  ACJA:2IF(O<<0  #D
M-   &0              @('#D0  >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM
M;%!+ 0(4 Q0    ( "&.J%JTAM<H90,  ' )   9              " @<&B
M  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL4$L! A0#%     @ (8ZH6B&D
MHKED P  50D  !D              ("!7:8  'AL+W=O<FMS:&5E=',O<VAE
M970R-"YX;6Q02P$"% ,4    "  ACJA:GBH=58\%  #S%@  &0
M    @('XJ0  >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    (
M "&.J%IEQ8W<?00   \,   9              " @;ZO  !X;"]W;W)K<VAE
M971S+W-H965T,C8N>&UL4$L! A0#%     @ (8ZH6OX5IF<W!   + P  !D
M             ("!<K0  'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"
M% ,4    "  ACJA:&Q:,T<0"  #G!@  &0              @('@N   >&PO
M=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    ( "&.J%JG,@%EYP8
M .8>   9              " @=N[  !X;"]W;W)K<VAE971S+W-H965T,CDN
M>&UL4$L! A0#%     @ (8ZH6NDU%/HB!   ?PT  !D              ("!
M^<(  'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q02P$"% ,4    "  ACJA:
MIZYND]P(  !@&P  &0              @(%2QP  >&PO=V]R:W-H965T<R]S
M:&5E=#,Q+GAM;%!+ 0(4 Q0    ( "&.J%KZOQ\2ZP(  ,@&   9
M      " @670  !X;"]W;W)K<VAE971S+W-H965T,S(N>&UL4$L! A0#%
M  @ (8ZH6J]]+*3P P  A@L  !D              ("!A],  'AL+W=O<FMS
M:&5E=',O<VAE970S,RYX;6Q02P$"% ,4    "  ACJA:G6\(DQT%  "F(0
M&0              @(&NUP  >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+
M 0(4 Q0    ( "&.J%H+=F.K90(  !L'   9              " @0+=  !X
M;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L! A0#%     @ (8ZH6D6TDZ\.
M P  L@@  !D              ("!GM\  'AL+W=O<FMS:&5E=',O<VAE970S
M-BYX;6Q02P$"% ,4    "  ACJA:]:KZH-("  "-"@  &0
M@('CX@  >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    ( "&.
MJ%K0CO\Q  ,  +X(   9              " @>SE  !X;"]W;W)K<VAE971S
M+W-H965T,S@N>&UL4$L! A0#%     @ (8ZH6K6NZ!B  @  [04  !D
M         ("!(^D  'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4
M    "  ACJA:5UWLN] &   ,+P  &0              @(':ZP  >&PO=V]R
M:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    ( "&.J%H8YG[:O0(  (0)
M   9              " @>'R  !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL
M4$L! A0#%     @ (8ZH6E/&S\\2 P  IPT  !D              ("!U?4
M 'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q02P$"% ,4    "  ACJA:C-[,
M[OH$  "R%   &0              @($>^0  >&PO=V]R:W-H965T<R]S:&5E
M=#0S+GAM;%!+ 0(4 Q0    ( "&.J%JPJA>8P (  $ '   9
M  " @4_^  !X;"]W;W)K<VAE971S+W-H965T-#0N>&UL4$L! A0#%     @
M(8ZH6M#OU,M[ @  "@@  !D              ("!1@$! 'AL+W=O<FMS:&5E
M=',O<VAE970T-2YX;6Q02P$"% ,4    "  ACJA:0IT[%-X"  #'"@  &0
M            @('X P$ >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4
M Q0    ( "&.J%J-_$G"3P,  %(-   9              " @0T' 0!X;"]W
M;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#%     @ (8ZH6M'.]C@8 @
MUP0  !D              ("!DPH! 'AL+W=O<FMS:&5E=',O<VAE970T."YX
M;6Q02P$"% ,4    "  ACJA:FZTR/>0"  #1"   &0              @('B
M# $ >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;%!+ 0(4 Q0    ( "&.J%H0
MB35FL (  &H&   9              " @?T/ 0!X;"]W;W)K<VAE971S+W-H
M965T-3 N>&UL4$L! A0#%     @ (8ZH6AO-C=0) P  M0D  !D
M     ("!Y!(! 'AL+W=O<FMS:&5E=',O<VAE970U,2YX;6Q02P$"% ,4
M"  ACJA:EM:OEIL(   <10  &0              @($D%@$ >&PO=V]R:W-H
M965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    ( "&.J%I=X2$[] ,  % 0   9
M              " @?8> 0!X;"]W;W)K<VAE971S+W-H965T-3,N>&UL4$L!
M A0#%     @ (8ZH6AS$3@/B @  5 D  !D              ("!(2,! 'AL
M+W=O<FMS:&5E=',O<VAE970U-"YX;6Q02P$"% ,4    "  ACJA:L6VFVQ8%
M  #H&P  &0              @($Z)@$ >&PO=V]R:W-H965T<R]S:&5E=#4U
M+GAM;%!+ 0(4 Q0    ( "&.J%HW8Z50%0,  -T-   9              "
M@8<K 0!X;"]W;W)K<VAE971S+W-H965T-38N>&UL4$L! A0#%     @ (8ZH
M6D1:TF]S!0  P1P  !D              ("!TRX! 'AL+W=O<FMS:&5E=',O
M<VAE970U-RYX;6Q02P$"% ,4    "  ACJA:>Z\Y/L$#  "7$@  &0
M        @(%]- $ >&PO=V]R:W-H965T<R]S:&5E=#4X+GAM;%!+ 0(4 Q0
M   ( "&.J%IE&!2G900  $T<   9              " @74X 0!X;"]W;W)K
M<VAE971S+W-H965T-3DN>&UL4$L! A0#%     @ (8ZH6C[.8<R@!0  A2T
M !D              ("!$3T! 'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6Q0
M2P$"% ,4    "  ACJA:-*K@5^8"  #:!P  &0              @('H0@$
M>&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM;%!+ 0(4 Q0    ( "&.J%JPKG>^
M8P,  #8/   9              " @05& 0!X;"]W;W)K<VAE971S+W-H965T
M-C(N>&UL4$L! A0#%     @ (8ZH6B<L,&L: @  ! 4  !D
M ("!GTD! 'AL+W=O<FMS:&5E=',O<VAE970V,RYX;6Q02P$"% ,4    "  A
MCJA:] 57J74"  !M!@  &0              @('P2P$ >&PO=V]R:W-H965T
M<R]S:&5E=#8T+GAM;%!+ 0(4 Q0    ( "&.J%I=O=WTH (  (8&   9
M          " @9Q. 0!X;"]W;W)K<VAE971S+W-H965T-C4N>&UL4$L! A0#
M%     @ (8ZH6BZ-]?HT!   W1   !D              ("!<U$! 'AL+W=O
M<FMS:&5E=',O<VAE970V-BYX;6Q02P$"% ,4    "  ACJA:"=6,GSH#  #(
M$P  #0              @ '>50$ >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    (
M "&.J%J7BKL<P    !,"   +              "  4-9 0!?<F5L<R\N<F5L
M<U!+ 0(4 Q0    ( "&.J%KDGRIZ-@4  -8K   /              "  2Q:
M 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    "  ACJA:'M^97AP"   ])P
M&@              @ &/7P$ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-0
M2P$"% ,4    "  ACJA:I7\.<>X!  "0)@  $P              @ 'C80$
I6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     2@!* #T4   "9 $    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<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>80
<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>82
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>187</ContextCount>
  <ElementCount>297</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>60</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995200090 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995210101 - Disclosure - Summary of Significant Accounting Policies and Estimates</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimates</Role>
      <ShortName>Summary of Significant Accounting Policies and Estimates</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995210201 - Disclosure - Accounts Receivable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivable</Role>
      <ShortName>Accounts Receivable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995210301 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995210401 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995210501 - Disclosure - Operating Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeases</Role>
      <ShortName>Operating Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995210601 - Disclosure - Long-term obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLongTermObligations</Role>
      <ShortName>Long-term obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995210701 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995210801 - Disclosure - Stock Options and Restricted Stock Units</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnits</Role>
      <ShortName>Stock Options and Restricted Stock Units</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995210901 - Disclosure - Comprehensive loss</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss</Role>
      <ShortName>Comprehensive loss</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995211001 - Disclosure - Segment reporting and concentrations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations</Role>
      <ShortName>Segment reporting and concentrations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995211101 - Disclosure - Income Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomePerShare</Role>
      <ShortName>Income Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995211201 - Disclosure - Derivatives</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivatives</Role>
      <ShortName>Derivatives</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995211301 - Disclosure - Line of Credit</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLineOfCredit</Role>
      <ShortName>Line of Credit</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>99920102 - Disclosure - Summary of Significant Accounting Policies and Estimates (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies and Estimates (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimates</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>99930103 - Disclosure - Summary of Significant Accounting Policies and Estimates (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesTables</Role>
      <ShortName>Summary of Significant Accounting Policies and Estimates (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimates</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>99930203 - Disclosure - Accounts Receivable (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables</Role>
      <ShortName>Accounts Receivable (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureAccountsReceivable</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>99930303 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>99930403 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureIncomeTaxes</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>99930503 - Disclosure - Operating Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables</Role>
      <ShortName>Operating Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureOperatingLeases</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>99930603 - Disclosure - Long-term obligations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables</Role>
      <ShortName>Long-term obligations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureLongTermObligations</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>99930803 - Disclosure - Stock Options and Restricted Stock Units (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables</Role>
      <ShortName>Stock Options and Restricted Stock Units (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnits</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>99930903 - Disclosure - Comprehensive loss (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables</Role>
      <ShortName>Comprehensive loss (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>99931003 - Disclosure - Segment reporting and concentrations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables</Role>
      <ShortName>Segment reporting and concentrations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>99931103 - Disclosure - Income Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomePerShareTables</Role>
      <ShortName>Income Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureIncomePerShare</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>99931303 - Disclosure - Derivatives (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesTables</Role>
      <ShortName>Derivatives (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureDerivatives</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>99940101 - Disclosure - Summary of Significant Accounting Policies and Estimates (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies and Estimates (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesTables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>99940102 - Disclosure - Summary of Significant Accounting Policies and Estimates - Deferred revenue balances (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueBalancesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies and Estimates - Deferred revenue balances (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>99940103 - Disclosure - Summary of Significant Accounting Policies and Estimates - Deferred revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueDetails</Role>
      <ShortName>Summary of Significant Accounting Policies and Estimates - Deferred revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>99940201 - Disclosure - Accounts Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails</Role>
      <ShortName>Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>99940202 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails</Role>
      <ShortName>Accounts Receivable - Activity in allowance for credit losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>99940301 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>99940302 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>99940303 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Estimated amortization expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>99940304 - Disclosure - Goodwill and Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails</Role>
      <ShortName>Goodwill and Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>99940401 - Disclosure - Income Taxes - Tax rate reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails</Role>
      <ShortName>Income Taxes - Tax rate reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>99940402 - Disclosure - Income Taxes - Unrecognized tax benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Income Taxes - Unrecognized tax benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>99940501 - Disclosure - Operating Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails</Role>
      <ShortName>Operating Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>99940502 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails</Role>
      <ShortName>Operating Leases - Financial statements related to operating leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>99940503 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails</Role>
      <ShortName>Operating Leases - Net present value of the operating lease liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>99940504 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails</Role>
      <ShortName>Operating Leases - Weighted average remaining lease terms (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>99940601 - Disclosure - Long-term obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails</Role>
      <ShortName>Long-term obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>99940701 - Disclosure - Commitments and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails</Role>
      <ShortName>Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>99940801 - Disclosure - Stock Options and Restricted Stock Units - Stock-Based Compensation Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails</Role>
      <ShortName>Stock Options and Restricted Stock Units - Stock-Based Compensation Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>99940802 - Disclosure - Stock Options and Restricted Stock Units - Summary of Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails</Role>
      <ShortName>Stock Options and Restricted Stock Units - Summary of Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>99940803 - Disclosure - Stock Options and Restricted Stock Units - Summary of Restricted Stock Unit activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails</Role>
      <ShortName>Stock Options and Restricted Stock Units - Summary of Restricted Stock Unit activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>99940804 - Disclosure - Stock Options and Restricted Stock Units - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails</Role>
      <ShortName>Stock Options and Restricted Stock Units - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>99940901 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails</Role>
      <ShortName>Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>99941001 - Disclosure - Segment reporting and concentrations - Segment assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails</Role>
      <ShortName>Segment reporting and concentrations - Segment assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>99941002 - Disclosure - Segment reporting and concentrations- Significant income statement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails</Role>
      <ShortName>Segment reporting and concentrations- Significant income statement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>99941003 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails</Role>
      <ShortName>Segment reporting and concentrations - Revenues by geographic region (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>99941004 - Disclosure - Segment reporting and concentrations - Long-lived assets by geographic region (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails</Role>
      <ShortName>Segment reporting and concentrations - Long-lived assets by geographic region (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>99941005 - Disclosure - Segment reporting and concentrations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails</Role>
      <ShortName>Segment reporting and concentrations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>99941101 - Disclosure - Income Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails</Role>
      <ShortName>Income Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureIncomePerShareTables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>99941102 - Disclosure - Income Per Share - Additional information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails</Role>
      <ShortName>Income Per Share - Additional information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>99941201 - Disclosure - Derivatives - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails</Role>
      <ShortName>Derivatives - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>99941202 - Disclosure - Derivatives - Fair value of derivative instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails</Role>
      <ShortName>Derivatives - Fair value of derivative instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>99941203 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails</Role>
      <ShortName>Derivatives - Contracts designated as cash flow hedges (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="inod-20250331x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>99941301 - Disclosure - Line Of Credit (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails</Role>
      <ShortName>Line Of Credit (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>inod-20250331.xsd</File>
    <File>inod-20250331_cal.xml</File>
    <File>inod-20250331_def.xml</File>
    <File>inod-20250331_lab.xml</File>
    <File>inod-20250331_pre.xml</File>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="inod-20250331x10q.htm">inod-20250331x10q.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="707">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>85
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "inod-20250331x10q.htm": {
   "nsprefix": "inod",
   "nsuri": "http://www.innodata-isogen.com/20250331",
   "dts": {
    "schema": {
     "local": [
      "inod-20250331.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/2023/calculation-1.1.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "inod-20250331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "inod-20250331_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "inod-20250331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "inod-20250331_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "inod-20250331x10q.htm"
     ]
    }
   },
   "keyStandard": 263,
   "keyCustom": 34,
   "axisStandard": 19,
   "axisCustom": 0,
   "memberStandard": 40,
   "memberCustom": 18,
   "hidden": {
    "total": 12,
    "http://fasb.org/us-gaap/2024": 7,
    "http://xbrl.sec.gov/dei/2024": 5
   },
   "contextCount": 187,
   "entityCount": 1,
   "segmentCount": 60,
   "elementCount": 552,
   "unitCount": 6,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 707,
    "http://xbrl.sec.gov/dei/2024": 29,
    "http://xbrl.sec.gov/ecd/2024": 4
   },
   "report": {
    "R1": {
     "role": "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation",
     "longName": "995200090 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets",
     "longName": "995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:PrepaidExpenseAndOtherAssetsCurrent",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical",
     "longName": "995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
     "longName": "995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:CostsAndExpenses",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows",
     "longName": "995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity",
     "longName": "995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TeQDAiyoTkmmNyjoLY_ogQ",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TeQDAiyoTkmmNyjoLY_ogQ",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimates",
     "longName": "995210101 - Disclosure - Summary of Significant Accounting Policies and Estimates",
     "shortName": "Summary of Significant Accounting Policies and Estimates",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivable",
     "longName": "995210201 - Disclosure - Accounts Receivable",
     "shortName": "Accounts Receivable",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:AccountsAndNontradeReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:AccountsAndNontradeReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets",
     "longName": "995210301 - Disclosure - Goodwill and Intangible Assets",
     "shortName": "Goodwill and Intangible Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxes",
     "longName": "995210401 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeases",
     "longName": "995210501 - Disclosure - Operating Leases",
     "shortName": "Operating Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLongTermObligations",
     "longName": "995210601 - Disclosure - Long-term obligations",
     "shortName": "Long-term obligations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "inod:LongTermObligationsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "inod:LongTermObligationsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies",
     "longName": "995210701 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnits",
     "longName": "995210801 - Disclosure - Stock Options and Restricted Stock Units",
     "shortName": "Stock Options and Restricted Stock Units",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss",
     "longName": "995210901 - Disclosure - Comprehensive loss",
     "shortName": "Comprehensive loss",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations",
     "longName": "995211001 - Disclosure - Segment reporting and concentrations",
     "shortName": "Segment reporting and concentrations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomePerShare",
     "longName": "995211101 - Disclosure - Income Per Share",
     "shortName": "Income Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivatives",
     "longName": "995211201 - Disclosure - Derivatives",
     "shortName": "Derivatives",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLineOfCredit",
     "longName": "995211301 - Disclosure - Line of Credit",
     "shortName": "Line of Credit",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R21": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies",
     "longName": "99920102 - Disclosure - Summary of Significant Accounting Policies and Estimates (Policies)",
     "shortName": "Summary of Significant Accounting Policies and Estimates (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "22",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesTables",
     "longName": "99930103 - Disclosure - Summary of Significant Accounting Policies and Estimates (Tables)",
     "shortName": "Summary of Significant Accounting Policies and Estimates (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "23",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables",
     "longName": "99930203 - Disclosure - Accounts Receivable (Tables)",
     "shortName": "Accounts Receivable (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables",
     "longName": "99930303 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables",
     "longName": "99930403 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables",
     "longName": "99930503 - Disclosure - Operating Leases (Tables)",
     "shortName": "Operating Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables",
     "longName": "99930603 - Disclosure - Long-term obligations (Tables)",
     "shortName": "Long-term obligations (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "inod:LongTermObligationsDisclosureTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "inod:LongTermObligationsDisclosureTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables",
     "longName": "99930803 - Disclosure - Stock Options and Restricted Stock Units (Tables)",
     "shortName": "Stock Options and Restricted Stock Units (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables",
     "longName": "99930903 - Disclosure - Comprehensive loss (Tables)",
     "shortName": "Comprehensive loss (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables",
     "longName": "99931003 - Disclosure - Segment reporting and concentrations (Tables)",
     "shortName": "Segment reporting and concentrations (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomePerShareTables",
     "longName": "99931103 - Disclosure - Income Per Share (Tables)",
     "shortName": "Income Per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesTables",
     "longName": "99931303 - Disclosure - Derivatives (Tables)",
     "shortName": "Derivatives (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails",
     "longName": "99940101 - Disclosure - Summary of Significant Accounting Policies and Estimates (Details)",
     "shortName": "Summary of Significant Accounting Policies and Estimates (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:CapitalizedContractCostAmortizationPeriod",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueBalancesDetails",
     "longName": "99940102 - Disclosure - Summary of Significant Accounting Policies and Estimates - Deferred revenue balances (Details)",
     "shortName": "Summary of Significant Accounting Policies and Estimates - Deferred revenue balances (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R36": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueDetails",
     "longName": "99940103 - Disclosure - Summary of Significant Accounting Policies and Estimates - Deferred revenue (Details)",
     "shortName": "Summary of Significant Accounting Policies and Estimates - Deferred revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg",
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:DeferredRevenuePeriodIncreaseDecrease",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock",
       "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails",
     "longName": "99940201 - Disclosure - Accounts Receivable (Details)",
     "shortName": "Accounts Receivable (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails",
     "longName": "99940202 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (Details)",
     "shortName": "Accounts Receivable - Activity in allowance for credit losses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg",
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails",
     "longName": "99940301 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)",
     "shortName": "Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg",
      "name": "us-gaap:Goodwill",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
     "longName": "99940302 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)",
     "shortName": "Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails",
     "longName": "99940303 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)",
     "shortName": "Goodwill and Intangible Assets - Estimated amortization expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails",
     "longName": "99940304 - Disclosure - Goodwill and Intangible Assets (Details)",
     "shortName": "Goodwill and Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:Goodwill",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_5JzMwQja-U-b4QAS5sy0Bw",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "us-gaap:AmortizationOfIntangibleAssets",
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails",
     "longName": "99940401 - Disclosure - Income Taxes - Tax rate reconciliation (Details)",
     "shortName": "Income Taxes - Tax rate reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense",
      "unitRef": "Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails",
     "longName": "99940402 - Disclosure - Income Taxes - Unrecognized tax benefits (Details)",
     "shortName": "Income Taxes - Unrecognized tax benefits (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
     "longName": "99940501 - Disclosure - Operating Leases (Details)",
     "shortName": "Operating Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_srt_RangeAxis_srt_MinimumMember_jSUqQw81akOpgyswCg4xAQ",
      "name": "inod:PercentageOfRentalEscalations",
      "unitRef": "Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_srt_RangeAxis_srt_MinimumMember_jSUqQw81akOpgyswCg4xAQ",
      "name": "inod:PercentageOfRentalEscalations",
      "unitRef": "Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails",
     "longName": "99940502 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)",
     "shortName": "Operating Leases - Financial statements related to operating leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails",
     "longName": "99940503 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)",
     "shortName": "Operating Leases - Net present value of the operating lease liability (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails",
     "longName": "99940504 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)",
     "shortName": "Operating Leases - Weighted average remaining lease terms (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails",
     "longName": "99940601 - Disclosure - Long-term obligations (Details)",
     "shortName": "Long-term obligations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:LongTermObligationsDisclosureTableTextBlock",
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:LongTermObligationsDisclosureTableTextBlock",
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails",
     "longName": "99940701 - Disclosure - Commitments and Contingencies (Details)",
     "shortName": "Commitments and Contingencies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:LitigationReserve",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:LitigationReserve",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails",
     "longName": "99940801 - Disclosure - Stock Options and Restricted Stock Units - Stock-Based Compensation Expense (Details)",
     "shortName": "Stock Options and Restricted Stock Units - Stock-Based Compensation Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_us-gaap_PlanNameAxis_inod_EquityPlansMember_HLf59OwIRUiW6gA59Y5L3A",
      "name": "us-gaap:StockOptionPlanExpense",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails",
     "longName": "99940802 - Disclosure - Stock Options and Restricted Stock Units - Summary of Stock Option Activity (Details)",
     "shortName": "Stock Options and Restricted Stock Units - Summary of Stock Option Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "unitRef": "Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "unitRef": "Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails",
     "longName": "99940803 - Disclosure - Stock Options and Restricted Stock Units - Summary of Restricted Stock Unit activity (Details)",
     "shortName": "Stock Options and Restricted Stock Units - Summary of Restricted Stock Unit activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_lVVFl4O5sU6H9_Bbek0yJQ",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_lVVFl4O5sU6H9_Bbek0yJQ",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails",
     "longName": "99940804 - Disclosure - Stock Options and Restricted Stock Units - Additional Information (Details)",
     "shortName": "Stock Options and Restricted Stock Units - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_XJ4tjH17KEeA-xes37wPLA",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_XJ4tjH17KEeA-xes37wPLA",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
     "longName": "99940901 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)",
     "shortName": "Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_8MCRqwItXUmcFMeRzRXBSw",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails",
     "longName": "99941001 - Disclosure - Segment reporting and concentrations - Segment assets (Details)",
     "shortName": "Segment reporting and concentrations - Segment assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:Assets",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_s18ad0ZGikyHRxLuAMtroA",
      "name": "us-gaap:Assets",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
     "longName": "99941002 - Disclosure - Segment reporting and concentrations- Significant income statement (Details)",
     "shortName": "Segment reporting and concentrations- Significant income statement (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:GrossProfit",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
     "longName": "99941003 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)",
     "shortName": "Segment reporting and concentrations - Revenues by geographic region (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_US_L8Bb2CplukOv0vsyaON87Q",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails",
     "longName": "99941004 - Disclosure - Segment reporting and concentrations - Long-lived assets by geographic region (Details)",
     "shortName": "Segment reporting and concentrations - Long-lived assets by geographic region (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
     "longName": "99941005 - Disclosure - Segment reporting and concentrations (Details)",
     "shortName": "Segment reporting and concentrations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "Unit_Standard_segment_Fd9GiEWAlkm1J2XHWdbi8A",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "Unit_Standard_segment_Fd9GiEWAlkm1J2XHWdbi8A",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails",
     "longName": "99941101 - Disclosure - Income Per Share (Details)",
     "shortName": "Income Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R62": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails",
     "longName": "99941102 - Disclosure - Income Per Share - Additional information (Details)",
     "shortName": "Income Per Share - Additional information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_afIUS4pplUCgwZk4MTnYOg",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails",
     "longName": "99941201 - Disclosure - Derivatives - Additional Information (Details)",
     "shortName": "Derivatives - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails",
     "longName": "99941202 - Disclosure - Derivatives - Fair value of derivative instruments (Details)",
     "shortName": "Derivatives - Fair value of derivative instruments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "As_Of_3_31_2025_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_RNjgcR6AlkmhzfO7wA-2wg",
      "name": "us-gaap:DerivativeInstrumentsAndHedgesLiabilities",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_3_31_2025_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_RNjgcR6AlkmhzfO7wA-2wg",
      "name": "us-gaap:DerivativeInstrumentsAndHedgesLiabilities",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails",
     "longName": "99941203 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)",
     "shortName": "Derivatives - Contracts designated as cash flow hedges (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw",
      "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails",
     "longName": "99941301 - Disclosure - Line Of Credit (Details)",
     "shortName": "Line Of Credit (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20250331x10q.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Significant Accounting Policies and Estimates"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsAndNontradeReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsAndNontradeReceivableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts and Nontrade Receivable [Text Block]",
        "terseLabel": "Accounts Receivable",
        "documentation": "The entire disclosure for accounts receivable, contract receivable, receivable held-for-sale, and nontrade receivable."
       }
      }
     },
     "auth_ref": [
      "r256",
      "r261"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable Current",
        "verboseLabel": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r699"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Schedule of activity in allowance for credit losses",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "terseLabel": "Gross Accounts receivable",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r258",
      "r664"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts receivable",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r645"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "totalLabel": "Accounts receivable, net",
        "verboseLabel": "Accounts receivable, net of allowance for credit losses",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r839"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities Current",
        "verboseLabel": "Accrued expenses",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_AccruedLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities [Member]",
        "terseLabel": "Accrued expenses and other",
        "documentation": "This item represents 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."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDefinedBenefitPlansAdjustmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]",
        "terseLabel": "Pension Liability Adjustment",
        "documentation": "Accumulated other comprehensive (income) loss related to defined benefit plans attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r4",
      "r10",
      "r19",
      "r92",
      "r818",
      "r819",
      "r820"
     ]
    },
    "us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedGainLossNetCashFlowHedgeParentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]",
        "terseLabel": "Fair Value of Derivatives",
        "documentation": "Accumulated other comprehensive income (loss) from gain (loss) of derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent."
       }
      }
     },
     "auth_ref": [
      "r164",
      "r172",
      "r173",
      "r428",
      "r666",
      "r818"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "verboseLabel": "Comprehensive income (loss)",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r172",
      "r454",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss), Net Of Tax",
        "verboseLabel": "Accumulated other comprehensive loss",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r19",
      "r93",
      "r159",
      "r528",
      "r560",
      "r561"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r172",
      "r454",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Loss [Member]",
        "terseLabel": "Accumulated Other Comprehensive Loss",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r10",
      "r19",
      "r437",
      "r440",
      "r476",
      "r556",
      "r557",
      "r818",
      "r819",
      "r820",
      "r827",
      "r828",
      "r829",
      "r830"
     ]
    },
    "us-gaap_AccumulatedTranslationAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedTranslationAdjustmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]",
        "terseLabel": "Foreign Currency Translation Adjustment",
        "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r10",
      "r19",
      "r90",
      "r91",
      "r172",
      "r173",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r818"
     ]
    },
    "inod_AcquiredIntangibleAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "AcquiredIntangibleAssetsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member stands for acquired intangible assets.",
        "label": "Acquired Intangible Assets [Member]",
        "terseLabel": "Acquired Intangible Assets"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r760"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid In Capital",
        "terseLabel": "Additional paid-in capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r699",
      "r976"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r571",
      "r827",
      "r828",
      "r829",
      "r830",
      "r919",
      "r977"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Stock-based compensation",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r42",
      "r348"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile consolidated net income to net cash provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r806"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r732",
      "r742",
      "r752",
      "r784"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r735",
      "r745",
      "r755",
      "r787"
     ]
    },
    "ecd_AggtPnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtPnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Pension Adjustments Service Cost [Member]",
        "terseLabel": "Aggregate Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r807"
     ]
    },
    "inod_AgilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "AgilityMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to Agility segment.",
        "label": "Agility [Member]",
        "terseLabel": "Agility"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r780"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r736",
      "r746",
      "r756",
      "r780",
      "r788",
      "r792",
      "r800"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r798"
     ]
    },
    "inod_AllowanceForDoubtfulAccountsBillingAdjustment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "AllowanceForDoubtfulAccountsBillingAdjustment",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for doubtful accounts billing adjustment from accounts receivable.",
        "label": "Allowance for Doubtful Accounts Billing Adjustment",
        "terseLabel": "Allowance for billing adjustments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails",
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "negatedLabel": "Allowance for credit losses",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r259",
      "r264"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "negatedLabel": "Write-offs against allowance",
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance."
       }
      }
     },
     "auth_ref": [
      "r266"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of Intangible Assets",
        "verboseLabel": "Amortization expense",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r279",
      "r285",
      "r683"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded From Computation Of Earnings Per Share, Amount",
        "verboseLabel": "Shares not included in computation of diluted loss per share",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r216"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded From Computation Of Earnings Per Share, By Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "terseLabel": "Antidilutive securities excluded from computation of earnings per share",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities, Name [Domain]",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "srt_AsiaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "AsiaMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asia [Member]",
        "terseLabel": "Asia"
       }
      }
     },
     "auth_ref": [
      "r979",
      "r980",
      "r981",
      "r982"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Total",
        "terseLabel": "Total assets",
        "totalLabel": "Total assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r135",
      "r157",
      "r188",
      "r220",
      "r226",
      "r244",
      "r248",
      "r260",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r424",
      "r429",
      "r447",
      "r523",
      "r599",
      "r676",
      "r677",
      "r699",
      "r723",
      "r877",
      "r878",
      "r936"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "verboseLabel": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current, Total",
        "totalLabel": "Total current assets",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r161",
      "r188",
      "r260",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r424",
      "r429",
      "r447",
      "r699",
      "r877",
      "r878",
      "r936"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "verboseLabel": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r796"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Axis]",
        "documentation": "Information by location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r297",
      "r945",
      "r946"
     ]
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Domain]",
        "documentation": "Location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r60",
      "r297",
      "r945",
      "r946"
     ]
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of Presentation",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets",
        "terseLabel": "Prepaid expenses and other current assets on contract acquisition costs",
        "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, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "country_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "CA",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CANADA",
        "terseLabel": "Canada"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalizedContractCostAmortizationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CapitalizedContractCostAmortizationPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capitalized Contract Cost, Amortization Period",
        "terseLabel": "Amortization period",
        "documentation": "Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r815"
     ]
    },
    "inod_CapitalizedSoftwareDevelopmentCostMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "CapitalizedSoftwareDevelopmentCostMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collection of computer programs and related data that provide instructions to a computer cost.",
        "label": "Capitalized Software Development Cost [Member]",
        "terseLabel": "Capitalized Developed Software"
       }
      }
     },
     "auth_ref": []
    },
    "inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "CapitalizedSoftwareDevelopmentCostWorkInProgressMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program,",
        "label": "Capitalized Software Development Cost - Work in Progress [Member]",
        "terseLabel": "Capitalized Developed Software - in Progress"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, at Carrying Value, Total",
        "verboseLabel": "Cash and cash equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r153",
      "r663"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and cash equivalents, end of period",
        "periodStartLabel": "Cash and cash equivalents, beginning of period",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r102",
      "r186"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase in cash and cash equivalents",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r102"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]",
        "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]",
        "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r766"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "inod_ClientMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "ClientMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of client.",
        "label": "Client [Member]",
        "terseLabel": "Customer"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r772"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r772"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies.",
        "verboseLabel": "Commitments and contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r127",
      "r525",
      "r586"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r300",
      "r301",
      "r646",
      "r871",
      "r873"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r713",
      "r714",
      "r715",
      "r717",
      "r718",
      "r719",
      "r720",
      "r827",
      "r828",
      "r830",
      "r919",
      "r975",
      "r977"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Par Or Stated Value Per Share",
        "verboseLabel": "Common stock, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r587"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Shares Issued",
        "terseLabel": "Common stock, shares issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Outstanding",
        "verboseLabel": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r81",
      "r587",
      "r605",
      "r977",
      "r978"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Value",
        "terseLabel": "Common stock, $.01 par value; 75,000,000 shares authorized; 34,929,000 shares issued and 31,745,000 outstanding at March 31, 2025 and 34,484,000 shares issued and 31,300,000 outstanding at December 31, 2024",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r527",
      "r699"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r777"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r776"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r778"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net Of Tax, Attributable To Parent",
        "totalLabel": "Comprehensive income attributable to Innodata Inc. and Subsidiaries",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r167",
      "r169",
      "r177",
      "r518",
      "r538",
      "r540"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive loss",
        "terseLabel": "Comprehensive Income:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest, Total",
        "verboseLabel": "Comprehensive income attributed to non-controlling interest",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r49",
      "r53",
      "r167",
      "r169",
      "r176",
      "r517",
      "r538",
      "r539"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest, Total",
        "totalLabel": "Total comprehensive income",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r120",
      "r167",
      "r169",
      "r175",
      "r516",
      "r538"
     ]
    },
    "us-gaap_ComprehensiveIncomeNoteTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNoteTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss) Note [Text Block]",
        "terseLabel": "Comprehensive loss",
        "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r174",
      "r515",
      "r537"
     ]
    },
    "us-gaap_ComputerSoftwareIntangibleAssetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComputerSoftwareIntangibleAssetMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computer Software, Intangible Asset [Member]",
        "terseLabel": "Capitalized Developed Software",
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks."
       }
      }
     },
     "auth_ref": [
      "r659",
      "r662",
      "r858",
      "r859",
      "r860",
      "r861",
      "r863",
      "r865",
      "r868",
      "r869"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r67",
      "r68",
      "r255",
      "r645"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r67",
      "r68",
      "r255",
      "r563",
      "r645"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r67",
      "r68",
      "r255",
      "r645",
      "r814"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentration of Credit Risk",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r142"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration risk, percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r67",
      "r68",
      "r255"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r67",
      "r68",
      "r255",
      "r645"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Policy [Policy Text Block]",
        "terseLabel": "Principles of Consolidation",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r667"
     ]
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "terseLabel": "Schedule of deferred revenue",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r880"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueBalancesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability, Current",
        "periodEndLabel": "Balance at the end of period",
        "periodStartLabel": "Balance at the beginning of period",
        "terseLabel": "Deferred revenues",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r331",
      "r332",
      "r343"
     ]
    },
    "us-gaap_CostsAndExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostsAndExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses",
        "totalLabel": "Total",
        "documentation": "Total costs of sales and operating expenses for the period."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "us-gaap_CostsAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostsAndExpensesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses [Abstract]",
        "verboseLabel": "Operating costs and expenses:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Document and Entity Information",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r308",
      "r875"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Domain]",
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r308",
      "r875",
      "r876"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "inod_CurrentPortionOfLongTermObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "CurrentPortionOfLongTermObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2": {
       "parentTag": "inod_TotalLongTermObligations",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The current portion of long-term obligations of the entity.",
        "label": "Current Portion Of Long-Term Obligations",
        "terseLabel": "Less: Current portion of long-term obligations",
        "verboseLabel": "Long-term obligations - current portion"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer concentration risk",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r255"
     ]
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Relationships [Member]",
        "verboseLabel": "Customer relationships",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r858",
      "r859",
      "r860",
      "r861",
      "r863",
      "r865",
      "r868",
      "r869"
     ]
    },
    "country_DE": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "DE",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "GERMANY",
        "terseLabel": "Germany"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DatabasesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DatabasesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Database Rights [Member]",
        "terseLabel": "Media Contact Database",
        "documentation": "Exclusive legal rights granted to the owner or licensee of collections of information stored in electronic form (such as on computer disks or files)."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r858",
      "r859",
      "r860",
      "r861",
      "r863",
      "r865",
      "r868",
      "r869"
     ]
    },
    "inod_DdsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "DdsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to Digital Data Solutions (DDS) segment.",
        "label": "DDS [Member]",
        "terseLabel": "DDS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCredit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Line of Credit",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r187",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r307",
      "r308",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r461"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "terseLabel": "Interest rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentVariableInterestRateTypeExtensibleEnumeration",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]",
        "documentation": "Indicates type of variable interest rate on debt instrument."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred income taxes, net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r388",
      "r389"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Liabilities, Net",
        "verboseLabel": "Deferred income taxes, net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r388",
      "r389",
      "r524"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Taxes and Tax Credits",
        "terseLabel": "Deferred income taxes",
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits."
       }
      }
     },
     "auth_ref": [
      "r105"
     ]
    },
    "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenueByArrangementDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue, by Arrangement, Disclosure [Table Text Block]",
        "terseLabel": "Schedule of information about contract liabilities (deferred revenue)",
        "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenuePeriodIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenuePeriodIncreaseDecrease",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue, Period Increase (Decrease)",
        "terseLabel": "Net deferred revenue in the period",
        "documentation": "Amount of increase (decrease) in deferred revenue."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenueRevenueRecognized1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenueRevenueRecognized1",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue, Revenue Recognized",
        "negatedLabel": "Revenue recognized",
        "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanIncreaseDecreaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedContributionPlanIncreaseDecreaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan, Increase (Decrease), Cost",
        "terseLabel": "Pension cost",
        "documentation": "Amount of increase (decrease) in cost for defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r220",
      "r231",
      "r248",
      "r676",
      "r677"
     ]
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeContractTypeDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Contract [Domain]",
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset."
       }
      }
     },
     "auth_ref": [
      "r576",
      "r578",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r600",
      "r601",
      "r602",
      "r603",
      "r612",
      "r613",
      "r614",
      "r615",
      "r618",
      "r619",
      "r620",
      "r621",
      "r635",
      "r636",
      "r639",
      "r640",
      "r713",
      "r715",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928"
     ]
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentRiskAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instrument [Axis]",
        "documentation": "Information by type of derivative contract."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r61",
      "r62",
      "r123",
      "r576",
      "r578",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r600",
      "r601",
      "r602",
      "r603",
      "r612",
      "r613",
      "r614",
      "r615",
      "r618",
      "r619",
      "r620",
      "r621",
      "r635",
      "r636",
      "r639",
      "r640",
      "r665",
      "r713",
      "r715",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928"
     ]
    },
    "us-gaap_DerivativeInstrumentsAndHedgesLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentsAndHedgesLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments and Hedges, Liabilities, Total",
        "verboseLabel": "Derivatives designated as hedging instruments",
        "documentation": "Sum as of the balance sheet date of the (a) fair values of all liabilities resulting from contracts that meet the criteria of being accounted for as derivative instruments, and (b) the carrying amounts of the liabilities arising from financial instruments or contracts used to mitigate a specified risk (hedge), and which are expected to be extinguished or otherwise disposed of within a year or the normal operating cycle, if longer, net of the effects of master netting arrangements."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivatives"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]",
        "terseLabel": "Derivatives",
        "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r434",
      "r442"
     ]
    },
    "us-gaap_DerivativeNotionalAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeNotionalAmount",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative, Notional Amount",
        "terseLabel": "Derivative notional amount",
        "documentation": "Nominal or face amount used to calculate payment on derivative."
       }
      }
     },
     "auth_ref": [
      "r917",
      "r918"
     ]
    },
    "us-gaap_DerivativesFairValueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativesFairValueLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives, Fair Value [Line Items]",
        "terseLabel": "Derivatives, Fair Value",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativesPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives, Policy [Policy Text Block]",
        "terseLabel": "Derivative Instruments",
        "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r54",
      "r55",
      "r56",
      "r63",
      "r190",
      "r204"
     ]
    },
    "inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "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": "Description of Business and Summary of Significant Accounting Policies [Line Items]",
        "terseLabel": "Description of Business and Summary of Significant Accounting Estimates and Policies"
       }
      }
     },
     "auth_ref": []
    },
    "inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Description of Business and Summary of Significant Accounting Estimates and Policies [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DesignatedAsHedgingInstrumentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DesignatedAsHedgingInstrumentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Designated as Hedging Instrument [Member]",
        "terseLabel": "Designated as hedging instrument",
        "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Developed Technology Rights [Member]",
        "terseLabel": "Developed technology",
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r858",
      "r859",
      "r860",
      "r861",
      "r863",
      "r865",
      "r868",
      "r869"
     ]
    },
    "us-gaap_DirectOperatingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DirectOperatingCosts",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 1.0
      },
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Direct Operating Costs",
        "terseLabel": "Direct operating costs",
        "verboseLabel": "Direct operating costs",
        "documentation": "The aggregate direct operating costs incurred during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r96"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnits"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure Of Compensation Related Costs, Share-Based Payments [Text Block]",
        "terseLabel": "Stock Options and Restricted Stock Units",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r346",
      "r351",
      "r378",
      "r379",
      "r381",
      "r688"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Options and Restricted Stock Units"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r759"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DomesticCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DomesticCountryMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "U.S. federal",
        "documentation": "Designated federal jurisdiction entitled to levy and collect income tax in country of domicile. Includes, but is not limited to, national jurisdiction for non-U.S. jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r391"
     ]
    },
    "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]",
        "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Per Share",
        "terseLabel": "Income per share attributable to Innodata Inc. and Subsidiaries:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic",
        "verboseLabel": "Basic (in dollars per share)",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r178",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r206",
      "r208",
      "r213",
      "r214",
      "r215",
      "r219",
      "r419",
      "r422",
      "r444",
      "r445",
      "r519",
      "r541",
      "r669"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted",
        "verboseLabel": "Diluted (in dollars per share)",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r178",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r208",
      "r213",
      "r214",
      "r215",
      "r219",
      "r419",
      "r422",
      "r444",
      "r445",
      "r519",
      "r541",
      "r669"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Income Per Share",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r216",
      "r217",
      "r218"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of Exchange Rate on Cash and Cash Equivalents, Continuing Operations",
        "terseLabel": "Effect of exchange rate changes on cash and cash equivalents",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r453"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "totalLabel": "Effective tax rate",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r391",
      "r690"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]",
        "verboseLabel": "Effect of:"
       }
      }
     },
     "auth_ref": []
    },
    "inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate (Benefit) Expense",
        "terseLabel": "Federal income tax expense (benefit) at statutory rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "verboseLabel": "Change in valuation allowance",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r396",
      "r690",
      "r826",
      "r910"
     ]
    },
    "inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "EffectiveIncomeTaxRateReconciliationDeemedInterestPercent",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deemed interest.",
        "label": "Effective Income Tax Rate Reconciliation, Deemed Interest, Percent",
        "terseLabel": "Deemed interest"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "terseLabel": "Foreign rate differential",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile."
       }
      }
     },
     "auth_ref": [
      "r392",
      "r395",
      "r690",
      "r826",
      "r910"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationGiltiPercent",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, GILTI, Percent",
        "terseLabel": "Global Intangible Low-Taxed Income (GILTI)",
        "documentation": "Percentage of reported income tax expense from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to global intangible low-taxed income (GILTI)."
       }
      }
     },
     "auth_ref": [
      "r690",
      "r910",
      "r912"
     ]
    },
    "inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "These lines are represents tax rate of income unrecognized tax benefits.",
        "label": "Effective Income Tax Rate Reconciliation Increase In Unrecognized Tax Benefits",
        "terseLabel": "Change in unrecognized tax benefits (ASC 740)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Percent",
        "verboseLabel": "Other",
        "documentation": "Percentage of reported income tax benefit (expense) from difference to income tax expense (benefit) computed by applying statutory federal (national) income tax rate to pretax income (loss) from continuing operation, attributable to other reconciling items. Excludes state and local income tax expense (benefit), federal tax expense (benefit), statutory income tax expense (benefit) outside of country of domicile, tax credit, nondeductible expense, deduction, income tax settlement, income tax contingency, and cross-border tax law."
       }
      }
     },
     "auth_ref": [
      "r911"
     ]
    },
    "inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Effective Income Tax Rate Reconciliation, Return to Provision True Up.",
        "label": "Effective Income Tax Rate Reconciliation Return to Provision True Up",
        "terseLabel": "Return to provision true up"
       }
      }
     },
     "auth_ref": []
    },
    "inod_EffectiveIncomeTaxRateReconciliationSection162Percentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "EffectiveIncomeTaxRateReconciliationSection162Percentage",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation section 162 percentage.",
        "label": "Effective Income Tax Rate Reconciliation Section 162 Percentage",
        "terseLabel": "Section 162(m)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent",
        "terseLabel": "Effect of stock-based compensation",
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r811",
      "r910",
      "r911"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "terseLabel": "State income tax net of federal benefit",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r394",
      "r690",
      "r826",
      "r910"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Foreign, Percent",
        "verboseLabel": "Tax effects of foreign operations",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in foreign income tax contingency."
       }
      }
     },
     "auth_ref": [
      "r826",
      "r910"
     ]
    },
    "inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation withholding tax percentage.",
        "label": "Effective Income Tax Rate Reconciliation Withholding Tax Percentage",
        "terseLabel": "Withholding tax"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Related Liabilities Current",
        "verboseLabel": "Accrued salaries, wages and related benefits",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share-Based Compensation, Nonvested Awards, Total Compensation Cost Not Yet Recognized",
        "verboseLabel": "Compensation cost related to non-vested stock options and restricted stock awards not yet recognized",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r380"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Weighted-average period over which compensation cost recognized",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r380"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r725"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r725"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r725"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r809"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r725"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r725"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r725"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r725"
     ]
    },
    "ecd_EqtyAwrdsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Footnote [Text Block]",
        "terseLabel": "Equity Awards Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r764"
     ]
    },
    "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]",
        "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "ecd_EqtyAwrdsAdjsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments [Member]",
        "terseLabel": "Equity Awards Adjustments"
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r147",
      "r171",
      "r172",
      "r173",
      "r191",
      "r192",
      "r193",
      "r195",
      "r200",
      "r202",
      "r204",
      "r221",
      "r262",
      "r263",
      "r290",
      "r330",
      "r409",
      "r410",
      "r416",
      "r417",
      "r418",
      "r420",
      "r421",
      "r422",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r443",
      "r454",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r462",
      "r465",
      "r476",
      "r537",
      "r556",
      "r557",
      "r558",
      "r571",
      "r625"
     ]
    },
    "inod_EquityPlansMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "EquityPlansMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Equity plans.",
        "label": "Equity Plans [Member]",
        "terseLabel": "Equity Plans"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r774"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r732",
      "r742",
      "r752",
      "r784"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r729",
      "r739",
      "r749",
      "r781"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r780"
     ]
    },
    "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]",
        "documentation": "Disclosure of information about location and fair value of derivative instrument and nonderivative instrument designated as hedging instrument."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r59",
      "r64"
     ]
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for Loan and Lease Losses, Foreign Currency Translation",
        "terseLabel": "Foreign currency translation adjustment",
        "documentation": "Amount of foreign currency translation gain (loss) which decreases (increases) allowance for credit loss on financing receivable. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "FiniteLivedIntangibleAssetExpectedAmortizationThereafter",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "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 thereafter excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Thereafter",
        "verboseLabel": "Thereafter"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Estimated useful life of intangibles",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r267",
      "r284",
      "r683"
     ]
    },
    "inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of foreign currency translation adjustments on assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Foreign Currency Translation Adjustment",
        "terseLabel": "Foreign Currency Translation Adjustment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "verboseLabel": "2026",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r286",
      "r659",
      "r683"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year",
        "verboseLabel": "2025",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r983"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "verboseLabel": "2029",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r286",
      "r659",
      "r683"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "verboseLabel": "2028",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r286",
      "r659",
      "r683"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "verboseLabel": "2027",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r286",
      "r659",
      "r683"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r278",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r287",
      "r288",
      "r482",
      "r483",
      "r659"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Value",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r267",
      "r284",
      "r483",
      "r683"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "Goodwill and Intangible Assets",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r278",
      "r284",
      "r287",
      "r288",
      "r289",
      "r482",
      "r659",
      "r683"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r278",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r287",
      "r288",
      "r659"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Net Carrying Value",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r482",
      "r865"
     ]
    },
    "inod_ForeignCountriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "ForeignCountriesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to foreign countries.",
        "label": "Foreign Countries [Member]",
        "verboseLabel": "Total foreign"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "negatedLabel": "Foreign exchange (gains) losses",
        "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r449",
      "r450",
      "r451",
      "r452",
      "r622"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign Currency Translation",
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy."
       }
      }
     },
     "auth_ref": [
      "r448"
     ]
    },
    "inod_ForeignCustomerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "ForeignCustomerMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to foreign customer.",
        "label": "Foreign Customer [Member]",
        "terseLabel": "Foreign customer"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignExchangeForwardMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignExchangeForwardMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Exchange Forward [Member]",
        "verboseLabel": "Foreign currency forward contracts",
        "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate."
       }
      }
     },
     "auth_ref": [
      "r593",
      "r597",
      "r602",
      "r614",
      "r620",
      "r637",
      "r638",
      "r639",
      "r715"
     ]
    },
    "inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of  foreign exchange gains and losses.",
        "label": "Foreign operations permanent difference - foreign exchange gains and losses",
        "terseLabel": "Foreign operations permanent differences - foreign exchange gains and losses"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r736",
      "r746",
      "r756",
      "r788"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r736",
      "r746",
      "r756",
      "r788"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r736",
      "r746",
      "r756",
      "r788"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r736",
      "r746",
      "r756",
      "r788"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r736",
      "r746",
      "r756",
      "r788"
     ]
    },
    "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]",
        "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year"
       }
      }
     },
     "auth_ref": [
      "r769"
     ]
    },
    "country_GB": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "GB",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED KINGDOM",
        "verboseLabel": "United Kingdom"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill",
        "periodEndLabel": "Balance - March 31, 2025",
        "periodStartLabel": "Balance - January 1, 2025",
        "terseLabel": "Goodwill",
        "verboseLabel": "Goodwill",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r268",
      "r514",
      "r677",
      "r682",
      "r693",
      "r699",
      "r847",
      "r854"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill and Intangible Assets",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r845",
      "r857"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "negatedLabel": "Foreign currency translation adjustment",
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r275"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross Profit",
        "totalLabel": "Gross profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r96",
      "r134",
      "r188",
      "r260",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r447",
      "r671",
      "r676",
      "r832",
      "r834",
      "r835",
      "r836",
      "r837",
      "r877"
     ]
    },
    "us-gaap_HedgingDesignationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "HedgingDesignationAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Designation [Axis]",
        "documentation": "Information by designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r433"
     ]
    },
    "us-gaap_HedgingDesignationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "HedgingDesignationDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Designation [Domain]",
        "documentation": "Designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "stpr_IL": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/stpr/2024",
     "localname": "IL",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ISRAEL",
        "verboseLabel": "Israel"
       }
      }
     },
     "auth_ref": []
    },
    "country_IN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "IN",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INDIA",
        "terseLabel": "India"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InProcessResearchAndDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InProcessResearchAndDevelopmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "In Process Research and Development [Member]",
        "terseLabel": "In process research and development",
        "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process."
       }
      }
     },
     "auth_ref": [
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863",
      "r865",
      "r867",
      "r868",
      "r869"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) From Continuing Operations Before Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "totalLabel": "Income before provision for income taxes",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r130",
      "r134",
      "r520",
      "r533",
      "r671",
      "r676",
      "r832",
      "r834",
      "r835",
      "r836",
      "r837"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Axis]",
        "documentation": "Information by income tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r185",
      "r391",
      "r392",
      "r400",
      "r407",
      "r690",
      "r916"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Domain]",
        "documentation": "Income tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r185",
      "r391",
      "r392",
      "r400",
      "r407",
      "r690",
      "r916"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Text Block]",
        "verboseLabel": "Income Taxes",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r189",
      "r384",
      "r391",
      "r397",
      "r398",
      "r399",
      "r403",
      "r406",
      "r411",
      "r413",
      "r414",
      "r415",
      "r568",
      "r690"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit)",
        "verboseLabel": "Provision for income taxes",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r145",
      "r203",
      "r204",
      "r220",
      "r234",
      "r248",
      "r390",
      "r391",
      "r412",
      "r542",
      "r690"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r386",
      "r387",
      "r403",
      "r404",
      "r405",
      "r408",
      "r565"
     ]
    },
    "inod_IncomeTaxesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "IncomeTaxesLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes [Line Items]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes Paid",
        "terseLabel": "Cash paid for income taxes",
        "documentation": "Amount, before refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r104",
      "r823",
      "r914",
      "r915"
     ]
    },
    "inod_IncomeTaxesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "IncomeTaxesTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of information relating to income taxes.",
        "label": "Income Taxes [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) In Accounts Payable and Accrued Liabilities",
        "verboseLabel": "Accounts payable and accrued expenses",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Accounts Receivable",
        "negatedLabel": "Accounts receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Accrued Taxes Payable",
        "terseLabel": "Income and other taxes",
        "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes."
       }
      }
     },
     "auth_ref": [
      "r822"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "terseLabel": "Deferred revenues",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r480",
      "r822"
     ]
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Employee Related Liabilities",
        "terseLabel": "Accrued salaries, wages and related benefits",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Other Operating Assets",
        "negatedLabel": "Other assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Prepaid Deferred Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incremental Common Shares Attributable To Share-Based Payment Arrangements",
        "verboseLabel": "Dilutive effect of outstanding options and restricted stock units",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r209",
      "r210",
      "r211",
      "r215",
      "r350"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r736",
      "r746",
      "r756",
      "r780",
      "r788",
      "r792",
      "r800"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r798"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r728",
      "r804"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r728",
      "r804"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r728",
      "r804"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Current",
        "verboseLabel": "Intangibles, net",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r278",
      "r865",
      "r867"
     ]
    },
    "us-gaap_InterestIncomeExpenseNonoperatingNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestIncomeExpenseNonoperatingNet",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income (Expense), Nonoperating, Net",
        "negatedLabel": "Interest income, net",
        "documentation": "Amount of interest income (expense) classified as nonoperating."
       }
      }
     },
     "auth_ref": [
      "r676",
      "r821",
      "r834"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Cash paid for interest",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r183",
      "r184"
     ]
    },
    "inod_InterestRateDescriptionLitigation": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "InterestRateDescriptionLitigation",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the interest rate relating to Litigation",
        "label": "Interest Rate Description Litigation",
        "terseLabel": "Interest rate description litigation"
       }
      }
     },
     "auth_ref": []
    },
    "country_LK": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "LK",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SRI LANKA",
        "verboseLabel": "Sri Lanka"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeLeaseDescriptionLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Line Items]",
        "terseLabel": "Operating Leases",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r469",
      "r475"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r469",
      "r475"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of net present value of operating lease liability",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r934"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r473"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2026",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r473"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2029",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r473"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "verboseLabel": "2028",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r473"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2027",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r473"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year",
        "verboseLabel": "2025",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r934"
     ]
    },
    "inod_LesseeOperatingLeaseLiabilityToBePaidThereafter": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LesseeOperatingLeaseLiabilityToBePaidThereafter",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due thereafter. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Thereafter",
        "terseLabel": "2030 and thereafter"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less: Interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r473"
     ]
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseTermOfContract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Lease agreements term",
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r933"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Operating Leases",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r464"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities",
        "totalLabel": "Total liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r72",
      "r73",
      "r74",
      "r76",
      "r77",
      "r78",
      "r79",
      "r188",
      "r260",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r425",
      "r429",
      "r430",
      "r447",
      "r585",
      "r670",
      "r723",
      "r877",
      "r936",
      "r937"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Stockholders Equity",
        "totalLabel": "Total liabilities and stockholders' equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r129",
      "r531",
      "r699",
      "r825",
      "r843",
      "r929"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "verboseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current, Total",
        "totalLabel": "Total current liabilities",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r152",
      "r188",
      "r260",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r425",
      "r429",
      "r430",
      "r447",
      "r699",
      "r877",
      "r936",
      "r937"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "verboseLabel": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LicensesObligationsAmountPayableAnnually": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LicensesObligationsAmountPayableAnnually",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount payable annually over the term of the license agreement.",
        "label": "Licenses Obligations, Amount Payable Annually",
        "terseLabel": "Microsoft licenses, Amount payable annually over the term of the agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of all eligible foreign accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line Of Credit Facility Amount Of All Eligible Foreign Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Amount of all eligible foreign accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityBorrowingBase": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LineOfCreditFacilityBorrowingBase",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value of borrowing base considered for the calculation.",
        "label": "Line Of Credit facility, Borrowing Base",
        "terseLabel": "Line of credit facility, borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold minimum required fixed charge coverage ratio under the line of credit facility.",
        "label": "Line of Credit Facility, Covenant Terms, Threshold Minimum Required Fixed Charge Coverage Ratio",
        "terseLabel": "Threshold minimum fixed charge coverage ratio required to be maintained"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Line Items]",
        "terseLabel": "Line of Credit",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r308",
      "r824",
      "r875"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Maximum borrowing capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r75"
     ]
    },
    "inod_LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of eligible accounts subject to the approval of the Lender considered for determination of borrowing base under the line of credit facility.",
        "label": "Line Of Credit Facility Maximum Borrowing Capacity Subject To Approval Of the Lender",
        "terseLabel": "Maximum borrowing capacity subject to approval of the lender"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of all eligible foreign accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line Of Credit Facility Percentage Of All Eligible Foreign Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of all eligible foreign accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of all eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line Of Credit Facility Percentage Of All Eligible Unbilled Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of all eligible unbilled accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of eligible accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line of Credit Facility, Percentage Of Eligible Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of eligible accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line of Credit Facility, Percentage Of Eligible Foreign Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of eligible foreign accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of eligible unbilled accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line Of Credit Facility Percentage Of Eligible Unbilled Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of eligible unbilled accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Table]",
        "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r75",
      "r308",
      "r824",
      "r875"
     ]
    },
    "us-gaap_LitigationReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LitigationReserve",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated Litigation Liability",
        "verboseLabel": "Estimated litigation liability",
        "documentation": "Aggregate carrying amount of the estimated litigation liability for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r874"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermObligationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LongTermObligationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermObligationsDisclosureTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LongTermObligationsDisclosureTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The tabular disclosure for long-term obligations.",
        "label": "Long-Term Obligations, Disclosure [Table Text Block]",
        "terseLabel": "Schedule of total long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermObligationsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LongTermObligationsDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term obligations.",
        "label": "Long-Term Obligations, Disclosure [Text Block]",
        "terseLabel": "Long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermOperatingLeaseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "LongTermOperatingLeaseMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member represents of long term operating lease.",
        "label": "Long Term Operating Lease [Member]",
        "terseLabel": "Long-term operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LossContingencyAccrualAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingencyAccrualAtCarryingValue",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Litigation Settlement, Expense",
        "terseLabel": "Litigation settlement expense",
        "documentation": "Amount of loss contingency liability."
       }
      }
     },
     "auth_ref": [
      "r302",
      "r810"
     ]
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Major Customers [Axis]"
       }
      }
     },
     "auth_ref": [
      "r255",
      "r686",
      "r708",
      "r712",
      "r881",
      "r944",
      "r947",
      "r948",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "auth_ref": [
      "r303",
      "r304",
      "r305",
      "r306",
      "r345",
      "r382",
      "r446",
      "r479",
      "r554",
      "r555",
      "r562",
      "r577",
      "r578",
      "r628",
      "r630",
      "r632",
      "r633",
      "r641",
      "r656",
      "r657",
      "r681",
      "r684",
      "r687",
      "r694",
      "r695",
      "r696",
      "r697",
      "r709",
      "r879",
      "r938",
      "r939",
      "r940",
      "r941",
      "r942",
      "r943"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r772"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r772"
     ]
    },
    "inod_MicrosoftLicensesObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "MicrosoftLicensesObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails": {
       "parentTag": "inod_TotalLongTermObligations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Microsoft licenses obligations as of balance sheet date.",
        "label": "Microsoft Licenses Obligations",
        "terseLabel": "Microsoft licenses"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "auth_ref": [
      "r303",
      "r304",
      "r305",
      "r306",
      "r345",
      "r382",
      "r446",
      "r479",
      "r554",
      "r555",
      "r562",
      "r577",
      "r578",
      "r628",
      "r630",
      "r632",
      "r633",
      "r641",
      "r656",
      "r657",
      "r681",
      "r684",
      "r687",
      "r694",
      "r695",
      "r696",
      "r709",
      "r879",
      "r938",
      "r939",
      "r940",
      "r941",
      "r942",
      "r943"
     ]
    },
    "us-gaap_MinorityInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Attributable to Noncontrolling Interest",
        "terseLabel": "Non-controlling interests",
        "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r128",
      "r188",
      "r260",
      "r309",
      "r311",
      "r312",
      "r313",
      "r316",
      "r317",
      "r447",
      "r530",
      "r589"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "country_NL": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "NL",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NETHERLANDS",
        "verboseLabel": "The Netherlands"
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Of Major Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r255",
      "r686",
      "r708",
      "r712",
      "r881",
      "r944",
      "r947",
      "r948",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by (used in) financing activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r182"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "verboseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r182"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "verboseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash provided by (used in) operating activities",
        "totalLabel": "Net cash provided by operating activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r103",
      "r105"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "verboseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Income attributable to Innodata Inc. and Subsidiaries",
        "verboseLabel": "Net income (loss) attributable to Innodata Inc. and Subsidiaries",
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r97",
      "r105",
      "r131",
      "r150",
      "r165",
      "r168",
      "r173",
      "r188",
      "r194",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r203",
      "r204",
      "r212",
      "r260",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r419",
      "r422",
      "r445",
      "r447",
      "r536",
      "r607",
      "r623",
      "r624",
      "r721",
      "r877"
     ]
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income Loss Attributable To Noncontrolling Interest",
        "verboseLabel": "Income attributable to non-controlling interests",
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r121",
      "r165",
      "r168",
      "r200",
      "r203",
      "r204",
      "r535",
      "r820"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recently Issued Accounting Pronouncements Not Yet Adopted",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "inod_NonEmployeeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "NonEmployeeMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-employees and non-employees directors.",
        "label": "Non Employee [Member]",
        "terseLabel": "Non-employees and non-employee directors"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r772"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r736",
      "r746",
      "r756",
      "r780",
      "r788"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r780"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "us-gaap_NonUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonUsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-US [Member]",
        "terseLabel": "Non-US",
        "documentation": "Countries excluding the United States of America (US)."
       }
      }
     },
     "auth_ref": [
      "r979",
      "r980",
      "r981",
      "r982"
     ]
    },
    "us-gaap_NoncontrollingInterestMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncontrollingInterestMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest [Member]",
        "terseLabel": "Non-Controlling Interest",
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r330",
      "r827",
      "r828",
      "r829",
      "r830",
      "r977"
     ]
    },
    "us-gaap_NoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncurrentAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Assets",
        "verboseLabel": "Long - lived assets",
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r254"
     ]
    },
    "inod_NoncurrentPortionOfLongTermObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "NoncurrentPortionOfLongTermObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2": {
       "parentTag": "inod_TotalLongTermObligations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The non-current portion of long-term obligations of the entity.",
        "label": "Noncurrent Portion Of Long-Term Obligations",
        "terseLabel": "Long-term obligations, net of current portion",
        "verboseLabel": "Totals Non-Current portion of long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_NumberOfClient": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "NumberOfClient",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents number of clients.",
        "label": "Number of Clients",
        "terseLabel": "Number of clients"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of reporting segments",
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements."
       }
      }
     },
     "auth_ref": [
      "r672",
      "r680",
      "r833"
     ]
    },
    "inod_OneClientMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "OneClientMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of one client.",
        "label": "One Client [Member]",
        "terseLabel": "One customer"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Income (Loss)",
        "totalLabel": "Segment operating income",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r671",
      "r832",
      "r834",
      "r835",
      "r836",
      "r837"
     ]
    },
    "us-gaap_OperatingLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Expense",
        "terseLabel": "Total rent expense",
        "documentation": "Amount of operating lease expense. Excludes sublease income."
       }
      }
     },
     "auth_ref": [
      "r932"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetailsCalc2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability",
        "totalLabel": "Total",
        "verboseLabel": "Net present value of lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r467"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liability - current portion",
        "verboseLabel": "Current portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r467"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liability, net of current portion",
        "verboseLabel": "Long-term portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r467"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Payments",
        "terseLabel": "Cash paid for operating leases",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r468",
      "r470"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Right-of-use-asset, net",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted-average discount rate",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r472",
      "r698"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted-average lease term remaining (in months)",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r471",
      "r698"
     ]
    },
    "us-gaap_OptionIndexedToIssuersEquityEquityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OptionIndexedToIssuersEquityEquityAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Option Indexed to Issuer's Equity [Axis]",
        "documentation": "Information by type of options indexed to an issuer's equity."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r65",
      "r66",
      "r124"
     ]
    },
    "us-gaap_OptionIndexedToIssuersEquityTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OptionIndexedToIssuersEquityTypeDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Option Indexed to Issuers Equity, Type [Domain]",
        "documentation": "Description of the type of freestanding contract issued by a Company that is indexed to, and potentially settled in, a Company's own stock. Specifically, the pertinent rights and privileges of the securities outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimates"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]",
        "terseLabel": "Summary of Significant Accounting Policies and Estimates",
        "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles."
       }
      }
     },
     "auth_ref": [
      "r106",
      "r107",
      "r108",
      "r119"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets Noncurrent",
        "verboseLabel": "Other assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r156"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), before Reclassifications, Net of Tax",
        "terseLabel": "Other comprehensive loss before reclassifications, net of taxes",
        "documentation": "Amount after tax, before reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r19",
      "r172",
      "r454",
      "r457",
      "r460",
      "r537",
      "r818"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Derivatives Qualifying As Hedges, Net Of Tax",
        "terseLabel": "Change in fair value of derivatives, net of taxes",
        "verboseLabel": "Change in fair value of derivatives, net of taxes",
        "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r162",
      "r163",
      "r537"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax",
        "verboseLabel": "Net gain (loss) recognized in OCI",
        "documentation": "Amount, before tax and reclassification, of gain (loss) from derivative instrument designated and qualifying cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r162",
      "r163",
      "r431",
      "r432",
      "r435"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Foreign currency translation adjustment",
        "verboseLabel": "Foreign currency translation adjustment",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r537"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax, Total",
        "totalLabel": "Other comprehensive income (loss)",
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r16",
      "r166",
      "r169",
      "r174",
      "r200",
      "r454",
      "r455",
      "r460",
      "r515",
      "r537",
      "r818",
      "r819"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Pension and Other Postretirement Benefit Plans, Adjustment, Net Of Tax",
        "negatedLabel": "Pension liability adjustment, net of taxes",
        "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r4",
      "r92",
      "r93",
      "r537"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r772"
     ]
    },
    "inod_OtherPrincipallyEuropeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "OtherPrincipallyEuropeMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to other principally Europe segment.",
        "label": "Other Principally Europe [Member]",
        "verboseLabel": "Others - principally other European countries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherSellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherSellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails": {
       "parentTag": "us-gaap_ShareBasedCompensation",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Selling, General and Administrative Expense",
        "terseLabel": "Selling and administrative expenses",
        "documentation": "Amount of selling, general and administrative expense classified as other."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r734",
      "r744",
      "r754",
      "r786"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r737",
      "r747",
      "r757",
      "r789"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r737",
      "r747",
      "r757",
      "r789"
     ]
    },
    "country_PH": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "PH",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PHILIPPINES",
        "verboseLabel": "Philippines"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PatentsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents [Member]",
        "terseLabel": "Patents",
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r858",
      "r859",
      "r860",
      "r861",
      "r863",
      "r865",
      "r868",
      "r869"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r761"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments To Acquire Property Plant and Equipment",
        "negatedLabel": "Capital expenditures",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r780"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "inod_PercentageOfRentalEscalations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "PercentageOfRentalEscalations",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of rental escalations.",
        "label": "Percentage of Rental Escalations",
        "terseLabel": "Percentage of rental escalations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r884",
      "r885",
      "r886",
      "r887",
      "r888",
      "r889",
      "r890",
      "r891",
      "r892",
      "r893",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907",
      "r908",
      "r909"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r884",
      "r885",
      "r886",
      "r887",
      "r888",
      "r889",
      "r890",
      "r891",
      "r892",
      "r893",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907",
      "r908",
      "r909"
     ]
    },
    "ecd_PnsnAdjsPrrSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsPrrSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Prior Service Cost [Member]",
        "terseLabel": "Pension Adjustments Prior Service Cost"
       }
      }
     },
     "auth_ref": [
      "r764"
     ]
    },
    "ecd_PnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Service Cost [Member]",
        "terseLabel": "Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r808"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits Adjustments, Footnote [Text Block]",
        "terseLabel": "Pension Benefits Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PostemploymentBenefitsLiabilityCurrentAndNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails": {
       "parentTag": "inod_TotalLongTermObligations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Postemployment Benefits Liability",
        "terseLabel": "Pension obligations - accrued pension liability",
        "documentation": "The carrying amount as of the balance sheet date of the obligations recognized for the various benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r882",
      "r883"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Serial preferred stock, shares authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r587"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Serial preferred stock, issued",
        "documentation": "Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r329"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock Shares Outstanding",
        "terseLabel": "Serial preferred stock, outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r587",
      "r605",
      "r977",
      "r978"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock Value",
        "verboseLabel": "Serial preferred stock; 4,998,000 shares authorized, none issued and outstanding",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r526",
      "r699"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets Current",
        "verboseLabel": "Prepaid expenses and other current assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r817"
     ]
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromStockOptionsExercised",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options",
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r15"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total",
        "totalLabel": "Consolidated net income",
        "verboseLabel": "Consolidated net income",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r150",
      "r165",
      "r168",
      "r181",
      "r188",
      "r194",
      "r200",
      "r203",
      "r204",
      "r260",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r419",
      "r422",
      "r423",
      "r426",
      "r427",
      "r445",
      "r447",
      "r520",
      "r534",
      "r570",
      "r607",
      "r623",
      "r624",
      "r691",
      "r692",
      "r722",
      "r820",
      "r877"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization",
        "terseLabel": "Cost",
        "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r812",
      "r816",
      "r870"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r474"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Net, Total",
        "terseLabel": "Property and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r474",
      "r521",
      "r532",
      "r699"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Type [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r474"
     ]
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Additions charged to expense",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r179",
      "r265"
     ]
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r761"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r761"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "auth_ref": [
      "r303",
      "r304",
      "r305",
      "r306",
      "r344",
      "r345",
      "r374",
      "r375",
      "r376",
      "r382",
      "r446",
      "r477",
      "r478",
      "r479",
      "r554",
      "r555",
      "r562",
      "r577",
      "r578",
      "r628",
      "r630",
      "r632",
      "r633",
      "r641",
      "r656",
      "r657",
      "r681",
      "r684",
      "r687",
      "r694",
      "r695",
      "r696",
      "r697",
      "r709",
      "r715",
      "r872",
      "r879",
      "r920",
      "r939",
      "r940",
      "r941",
      "r942",
      "r943"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Domain]"
       }
      }
     },
     "auth_ref": [
      "r303",
      "r304",
      "r305",
      "r306",
      "r344",
      "r345",
      "r374",
      "r375",
      "r376",
      "r382",
      "r446",
      "r477",
      "r478",
      "r479",
      "r554",
      "r555",
      "r562",
      "r577",
      "r578",
      "r628",
      "r630",
      "r632",
      "r633",
      "r641",
      "r656",
      "r657",
      "r681",
      "r684",
      "r687",
      "r694",
      "r695",
      "r696",
      "r697",
      "r709",
      "r715",
      "r872",
      "r879",
      "r920",
      "r939",
      "r940",
      "r941",
      "r942",
      "r943"
     ]
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) Reclassified From Accumulated Oci Into Income, Effective Portion, Net",
        "verboseLabel": "Net (gain) loss reclassified from accumulated OCI into income",
        "documentation": "Amount before tax of reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r172",
      "r454",
      "r459",
      "r460",
      "r537",
      "r818"
     ]
    },
    "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax",
        "terseLabel": "Net amount reclassified to earnings",
        "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r19",
      "r172",
      "r454",
      "r459",
      "r460",
      "r537",
      "r818"
     ]
    },
    "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciliation of Assets from Segment to Consolidated [Table Text Block]",
        "terseLabel": "Reconciliation of Assets from Segment to Consolidated",
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r34"
     ]
    },
    "us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment, Reconciliation of Other Items from Segments to Consolidated [Table Text Block]",
        "terseLabel": "Segment information for other significant income statement",
        "documentation": "Tabular disclosure of reconciliation of other items from reportable segments to their consolidated amount. Excludes reconciliation of revenue, profit (loss), and assets."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r729",
      "r739",
      "r749",
      "r781"
     ]
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayments Of Long Term Debt",
        "negatedLabel": "Payment of long-term obligations",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r566"
     ]
    },
    "us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research, Development, and Computer Software Disclosure [Text Block]",
        "terseLabel": "Capitalized Developed Software",
        "documentation": "The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes 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 in-process research and development acquired in a business combination consummated during the period."
       }
      }
     },
     "auth_ref": [
      "r383",
      "r658"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r730",
      "r740",
      "r750",
      "r782"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r731",
      "r741",
      "r751",
      "r783"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r738",
      "r748",
      "r758",
      "r790"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Units",
        "verboseLabel": "Restricted Stock Units",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings Accumulated Deficit",
        "terseLabel": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r115",
      "r529",
      "r559",
      "r561",
      "r567",
      "r588",
      "r699"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings",
        "terseLabel": "Retained Earnings",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r191",
      "r192",
      "r193",
      "r195",
      "r200",
      "r202",
      "r204",
      "r262",
      "r263",
      "r290",
      "r409",
      "r410",
      "r416",
      "r417",
      "r418",
      "r420",
      "r421",
      "r422",
      "r436",
      "r438",
      "r439",
      "r441",
      "r443",
      "r462",
      "r465",
      "r556",
      "r558",
      "r571",
      "r977"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Revenues",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r133",
      "r220",
      "r227",
      "r228",
      "r242",
      "r248",
      "r251",
      "r253",
      "r255",
      "r341",
      "r342",
      "r481"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition, Deferred Revenue [Policy Text Block]",
        "terseLabel": "Deferred Revenue",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r146",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r660"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition, Policy [Policy Text Block]",
        "terseLabel": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r608",
      "r660",
      "r668"
     ]
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "terseLabel": "Segment reporting and concentrations",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Credit Facility",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Sales revenue, net",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r255",
      "r813"
     ]
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "terseLabel": "Schedule of accounts receivable",
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r88"
     ]
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Accumulated Other Comprehensive Income (Loss) [Table Text Block]",
        "verboseLabel": "Schedule of components of accumulated other comprehensive loss and reclassifications from accumulated other comprehensive loss",
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r930",
      "r931"
     ]
    },
    "us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Cost by Plan [Table Text Block]",
        "terseLabel": "Schedule of stock-based compensation expense",
        "documentation": "Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) [Table Text Block]",
        "terseLabel": "Schedule of effect of foreign currency forward contracts designated as cash flow hedges on condensed consolidated statements of operations",
        "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r61",
      "r433"
     ]
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Derivative Instruments In Statement Of Financial Position, Fair Value [Table Text Block]",
        "terseLabel": "Schedule of fair value of derivative instruments included within the condensed consolidated balance sheets",
        "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r59"
     ]
    },
    "inod_ScheduleOfEarningsPerShareBasicAndDilutedTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share Basic and Diluted [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "verboseLabel": "Schedule of loss per share, basic and diluted",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of reconciliation of U.S. statutory rate with Company's effective tax rate",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r393",
      "r690",
      "r910"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset."
       }
      }
     },
     "auth_ref": [
      "r278",
      "r284",
      "r287",
      "r288",
      "r289",
      "r482",
      "r659",
      "r683"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of Company's acquired intangible assets and capitalized developed software",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r683",
      "r864"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfGoodwillTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Schedule of changes in carrying amount of goodwill",
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule."
       }
      }
     },
     "auth_ref": [
      "r682",
      "r846",
      "r847",
      "r848",
      "r849",
      "r850",
      "r851",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856"
     ]
    },
    "inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of operating lease expense recognized in financial statements.",
        "label": "Schedule of Operating lease expense recognized in Financial Statements [Table Text Block]",
        "terseLabel": "Schedule of operating lease expense recognized in financial statements"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]",
        "terseLabel": "Schedule of revenue by geographic region",
        "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r110"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]",
        "terseLabel": "Schedule of long-lived assets by geographic region",
        "documentation": "Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r94"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "documentation": "Disclosure of information about revenue from external customer and long-lived asset by geographical area. Long-lived asset excludes financial instrument, customer relationship with financial institution, mortgage and other servicing right, deferred policy acquisition cost, and deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r94"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "documentation": "Disclosure of information about profit (loss) and total assets by reportable segment."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r30",
      "r31"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r347",
      "r349",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Share-Based Compensation, Stock Options, Activity [Table Text Block]",
        "terseLabel": "Schedule of stock option activity",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r14",
      "r116"
     ]
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block]",
        "terseLabel": "Summary of restricted stock under the company's plan",
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "terseLabel": "Schedule of roll forward of the Company's unrecognized tax benefits and associated interest",
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r401",
      "r689"
     ]
    },
    "inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of weighted average remaining lease terms and discount rates.",
        "label": "Schedule of Weighted Average Remaining Lease Terms and Discount Rates [Table Text Block]",
        "terseLabel": "Schedule of weighted average remaining lease terms and discount rates"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of estimated amortization expense for intangible assets",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r683",
      "r866"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r724"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r726"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment [Domain]",
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r133",
      "r134",
      "r135",
      "r220",
      "r223",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r248",
      "r249",
      "r250",
      "r255",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r289",
      "r298",
      "r299",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r673",
      "r676",
      "r677",
      "r682",
      "r711",
      "r944",
      "r947",
      "r948",
      "r949",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment, Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r253",
      "r254",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r573",
      "r574",
      "r575",
      "r629",
      "r631",
      "r634",
      "r642",
      "r644",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r661",
      "r685",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r710",
      "r715",
      "r881",
      "r944",
      "r947",
      "r948",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment reporting and concentrations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Segment reporting and concentrations",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r220",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r238",
      "r240",
      "r241",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r255",
      "r672",
      "r674",
      "r675",
      "r676",
      "r678",
      "r679",
      "r680"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Information [Line Items]",
        "verboseLabel": "Segment reporting and concentrations",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling and administrative expenses",
        "verboseLabel": "Selling and administrative expenses",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      },
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Total",
        "terseLabel": "Stock-based compensation",
        "totalLabel": "Total stock-based compensation",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Number of Restricted Stock Units, Forfeited/Expired",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r368"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-Average Grant Date Fair Value, Forfeited/Expired",
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r368"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Number of Restricted Stock Units, Granted",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r366"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-Average Grant Date Fair Value, Granted",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r366"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Number of Restricted Stock Units, Unvested at End of the year",
        "periodStartLabel": "Number of Restricted Stock Units, Unvested at Beginning of the year",
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r363",
      "r364"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Weighted-Average Grant Date Fair Value, Outstanding at End of the year",
        "periodStartLabel": "Weighted-Average Grant Date Fair Value, Outstanding at Beginning of the year",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r363",
      "r364"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Number of Restricted Stock Units, Vested",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r367"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-Average Grant Date Fair Value, Vested",
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement."
       }
      }
     },
     "auth_ref": [
      "r367"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Stock Options",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r347",
      "r349",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Number",
        "verboseLabel": "Number of Options Exercisable (in shares)",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r357"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Weighted Average Exercise Price Exercisable (in dollars per shares)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r357"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period",
        "negatedLabel": "Number of Options, Forfeited/Expired (in shares)",
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired."
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period, Weighted Average Exercise Price",
        "verboseLabel": "Weighted Average Exercise Price Forfeited/Expired (in dollars per shares)",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Grants In Period, Net Of Forfeitures",
        "verboseLabel": "Number of Options, Granted (in shares)",
        "documentation": "Net number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r891"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "verboseLabel": "Aggregate Intrinsic Value, Outstanding",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Number of Options, Outstanding - Ending balance (in shares)",
        "periodStartLabel": "Number of Options, Outstanding - Beginning balance (in shares)",
        "terseLabel": "Number of Options, Outstanding",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r355",
      "r356"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Weighted Average Exercise Price Outstanding Ending balance (in dollars per shares)",
        "periodStartLabel": "Weighted Average Exercise Price Outstanding beginning balance (in dollars per shares)",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r355",
      "r356"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Aggregate Intrinsic Value",
        "verboseLabel": "Aggregate Intrinsic Value, Vested and Expected to Vest",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r371"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Number",
        "terseLabel": "Number of Options, Vested and Expected to Vest (in shares)",
        "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r371"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r371"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements By Share-Based Payment Award, Options, Exercises In Period, Weighted Average Exercise Price",
        "verboseLabel": "Weighted Average Exercise Price Exercised (in dollars per shares)",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r360"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Intrinsic Value",
        "terseLabel": "Aggregate Intrinsic Value, Exercisable",
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Weighted Average Remaining Contractual Term Exercisable (in years)",
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Weighted Average Remaining Contractual Term Outstanding (in years)",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r117"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r371"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, Outstanding",
        "periodEndLabel": "Balance at the end (in shares)",
        "periodStartLabel": "Balance at the beginning (in shares)",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "inod_ShortTermOperatingLeaseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "ShortTermOperatingLeaseMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member represents of short term operating lease.",
        "label": "Short Term Operating Lease [Member]",
        "terseLabel": "Short-term operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SoftwareDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SoftwareDevelopmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software Development [Member]",
        "terseLabel": "Capitalized software development",
        "documentation": "Internally developed software for sale, licensing or long-term internal use."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r133",
      "r134",
      "r135",
      "r149",
      "r220",
      "r223",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r248",
      "r249",
      "r250",
      "r255",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r289",
      "r291",
      "r298",
      "r299",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r673",
      "r676",
      "r677",
      "r682",
      "r711",
      "r944",
      "r947",
      "r948",
      "r949",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r81",
      "r85",
      "r86",
      "r147",
      "r171",
      "r172",
      "r173",
      "r191",
      "r192",
      "r193",
      "r195",
      "r200",
      "r202",
      "r204",
      "r221",
      "r262",
      "r263",
      "r290",
      "r330",
      "r409",
      "r410",
      "r416",
      "r417",
      "r418",
      "r420",
      "r421",
      "r422",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r443",
      "r454",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r462",
      "r465",
      "r476",
      "r537",
      "r556",
      "r557",
      "r558",
      "r571",
      "r625"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r253",
      "r254",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r573",
      "r574",
      "r575",
      "r629",
      "r631",
      "r634",
      "r642",
      "r644",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r661",
      "r685",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r710",
      "r715",
      "r881",
      "r944",
      "r947",
      "r948",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "terseLabel": "Statement",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r191",
      "r192",
      "r193",
      "r221",
      "r465",
      "r481",
      "r564",
      "r572",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r587",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r606",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r625",
      "r716"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r191",
      "r192",
      "r193",
      "r221",
      "r257",
      "r465",
      "r481",
      "r564",
      "r572",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r587",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r606",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r625",
      "r716"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r733",
      "r743",
      "r753",
      "r785"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures",
        "verboseLabel": "Vesting of restricted stock units (in shares)",
        "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r80",
      "r81",
      "r115"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option exercises (in shares)",
        "negatedLabel": "Number of Options, Exercised (in shares)",
        "terseLabel": "Stock option exercises (in shares)",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r80",
      "r81",
      "r115",
      "r360"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures",
        "verboseLabel": "Vesting of restricted stock units",
        "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r115"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise of stock options",
        "terseLabel": "Stock option exercises",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r81",
      "r85",
      "r86",
      "r115"
     ]
    },
    "us-gaap_StockOptionPlanExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockOptionPlanExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails": {
       "parentTag": "us-gaap_ShareBasedCompensation",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsStockBasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock or Unit Option Plan Expense",
        "terseLabel": "Direct operating costs",
        "documentation": "Amount of noncash expense for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "inod_StockOptionsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "StockOptionsLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables"
     ],
     "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": "Stock Options [Line Items]",
        "terseLabel": "Stock Options and Restricted Stock Units"
       }
      }
     },
     "auth_ref": []
    },
    "inod_StockOptionsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "StockOptionsTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting stock options.",
        "label": "Stock Options [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders Equity",
        "periodEndLabel": "Balance at the end",
        "periodStartLabel": "Balance at the beginning",
        "totalLabel": "Stockholders' equity Innodata Inc. and subsidiaries",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r85",
      "r86",
      "r111",
      "r589",
      "r605",
      "r626",
      "r627",
      "r699",
      "r723",
      "r825",
      "r843",
      "r929",
      "r977"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders Equity [Abstract]",
        "terseLabel": "STOCKHOLDERS' EQUITY:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityBeforeTreasuryStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityBeforeTreasuryStock",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders Equity Before Treasury Stock",
        "totalLabel": "Stockholders' Equity before Treasury Stock, Total",
        "documentation": "Total amount of stockholders' equity (deficit) items including stock value, paid in capital, retained earnings and including equity attributable to noncontrolling interests and before deducting the carrying value of treasury stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Including Portion Attributable to Noncontrolling Interest",
        "periodEndLabel": "Balance at the end",
        "periodStartLabel": "Balance at the beginning",
        "totalLabel": "Total Stockholders' equity",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r48",
      "r51",
      "r147",
      "r148",
      "r172",
      "r191",
      "r192",
      "r193",
      "r195",
      "r200",
      "r202",
      "r262",
      "r263",
      "r290",
      "r330",
      "r409",
      "r410",
      "r416",
      "r417",
      "r418",
      "r420",
      "r421",
      "r422",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r443",
      "r454",
      "r456",
      "r460",
      "r463",
      "r476",
      "r557",
      "r558",
      "r569",
      "r589",
      "r605",
      "r626",
      "r627",
      "r643",
      "r722",
      "r825",
      "r843",
      "r929",
      "r977"
     ]
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "verboseLabel": "Supplemental disclosures of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "inod_SynodexMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "SynodexMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSegmentAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsSignificantIncomeStatementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to Synodex segment.",
        "label": "Synodex [Member]",
        "verboseLabel": "Synodex"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r779"
     ]
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Taxes Payable, Current, Total",
        "verboseLabel": "Income and other taxes",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r73"
     ]
    },
    "us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TemporaryEquityForeignCurrencyTranslationAdjustments",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Temporary Equity, Foreign Currency Translation Adjustments",
        "negatedLabel": "Currency translations and other adjustments",
        "documentation": "Adjustments to temporary equity resulting from foreign currency translation adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r838",
      "r935"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Relationship to Entity [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TotalLongTermObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "TotalLongTermObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total amount of long-term obligations of the entity.",
        "label": "Total Long-Term Obligations",
        "totalLabel": "Total long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total after tax and before reclassification adjustments of other comprehensive income (loss).",
        "label": "Total Other Comprehensive Income (Loss) Before Reclassifications, Net Of Tax",
        "terseLabel": "Total other comprehensive income (loss) before reclassifications, net of taxes"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r778"
     ]
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade and Other Accounts Receivable, Policy [Policy Text Block]",
        "terseLabel": "Accounts Receivable",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r137",
      "r138",
      "r840",
      "r841",
      "r842"
     ]
    },
    "us-gaap_TrademarksAndTradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TrademarksAndTradeNamesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trademarks and Trade Names [Member]",
        "terseLabel": "Trademarks and tradenames",
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863",
      "r865",
      "r867",
      "r868",
      "r869"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r798"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Expiration Date",
        "terseLabel": "Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r803"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Shares",
        "periodEndLabel": "Balance at the end (in shares)",
        "periodStartLabel": "Balance at the beginning (in shares)",
        "terseLabel": "Treasury stock, shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock Value",
        "negatedLabel": "Less: treasury stock, 3,184,000 shares at March 31, 2025 and December 31, 2024, at cost",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r38",
      "r81",
      "r85"
     ]
    },
    "inod_TwoClientMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "TwoClientMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of two clients.",
        "label": "Two Client [Member]",
        "terseLabel": "Two customer"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TwoThousandThirteenStockPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "TwoThousandThirteenStockPlanMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Information regarding stock plan.",
        "label": "2013 Stock Plan [Member]",
        "terseLabel": "2013 Stock Plan",
        "verboseLabel": "2013 Stock Plan"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TwoThousandTwentyOneEquityCompensationPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "TwoThousandTwentyOneEquityCompensationPlanMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAndRestrictedStockUnitsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to 2021 Equity Compensation Plan.",
        "label": "2021 Stock Plan [Member]",
        "terseLabel": "2021 Stock Plan",
        "verboseLabel": "2021 Stock Plan"
       }
      }
     },
     "auth_ref": []
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "US",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r797"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Balance - March 31, 2025",
        "periodStartLabel": "Balance - January 1, 2025",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r385",
      "r401",
      "r689"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions",
        "negatedLabel": "Decrease for prior year tax positions",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r402",
      "r689"
     ]
    },
    "inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20250331",
     "localname": "UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase decrease in unrecognized tax benefits resulting from foreign currency translation.",
        "label": "Unrecognized Tax Benefits Increase Decreases Resulting From Foreign Currency Translation",
        "negatedLabel": "Foreign currency remeasurement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions",
        "terseLabel": "Increase for current year tax positions",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r402",
      "r689"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Interest on Income Taxes Expense",
        "terseLabel": "Interest accrual",
        "documentation": "Amount of interest expense for an underpayment of income taxes."
       }
      }
     },
     "auth_ref": [
      "r913"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAndEstimatesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use Of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of Estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27",
      "r28",
      "r140",
      "r141",
      "r143",
      "r144"
     ]
    },
    "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]",
        "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r767"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "totalLabel": "Adjusted for dilutive computation",
        "verboseLabel": "Diluted (in shares)",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r215"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number Of Shares Outstanding [Abstract]",
        "verboseLabel": "Weighted average shares outstanding:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomePerShareDetails",
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic (in shares)",
        "verboseLabel": "Weighted average common shares outstanding",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r215"
     ]
    },
    "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]",
        "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r765"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(j)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(k)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-20"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2A"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482739/220-10-55-15"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-5"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-8"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "63",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481620/480-10-55-63"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481549/505-30-45-1"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-12"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-13"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-15"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-16"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-21"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4I"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "182",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-182"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-4"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-5"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-20"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478898/942-825-50-1"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/220/tableOfContent"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "250",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/250/tableOfContent"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/810/tableOfContent"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/815/tableOfContent"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-3"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-6"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-11"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-1"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-1"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(n))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-22"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-23"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-28A"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/280/tableOfContent"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/310/tableOfContent"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/326/tableOfContent"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4.d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-1"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-1"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-2"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-17"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-19"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480454/718-10-45-1"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483041/730-20-50-1"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-10B"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-25"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-28"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15A"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15A"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-19"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-20"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4E"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-5C"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480627/815-20-45-3"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-5"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/830/tableOfContent"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481839/830-10-45-17"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482014/830-20-35-1"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481956/830-20-45-1"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481926/830-20-50-1"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/842-20/tableOfContent"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478345/912-310-45-11"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "280",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "470",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-3"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/985-20/tableOfContent"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(b)",
   "SubTopic": "20",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-22"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482739/220-10-55-15"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-217"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "i"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iii"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iv"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "v"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "vi"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Number": "229",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "A",
   "Number": "229"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Number": "229"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "i",
   "Number": "229"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-10"
  },
  "r811": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "SubTopic": "740",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479176/718-740-35-2"
  },
  "r812": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r813": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r814": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r815": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "340",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479483/340-40-50-2"
  },
  "r816": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r817": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r818": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r819": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r820": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r821": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r822": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r823": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r824": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r825": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r826": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r827": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r828": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r829": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r830": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r831": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r832": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r833": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-18"
  },
  "r834": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r835": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r836": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r837": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r838": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r839": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r840": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r841": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r842": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481569/310-20-50-1"
  },
  "r843": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r844": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r845": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-20/tableOfContent"
  },
  "r846": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r847": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r848": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r849": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r850": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r851": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r852": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r853": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r854": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r855": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1A"
  },
  "r856": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r857": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r858": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r859": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r860": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r861": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r862": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r863": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r864": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r865": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r866": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r867": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r868": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r869": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r870": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r871": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-30/tableOfContent"
  },
  "r872": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10"
  },
  "r873": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r874": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-1"
  },
  "r875": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r876": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r877": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r878": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r879": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r880": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10"
  },
  "r881": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r882": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "712",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481179/712-10-25-4"
  },
  "r883": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "712",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481179/712-10-25-5"
  },
  "r884": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r885": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r886": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r887": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r888": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r889": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r890": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r891": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r892": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r893": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r894": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r895": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r896": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r897": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r898": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r899": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r900": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r901": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r902": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r903": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r904": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r905": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r906": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r907": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r908": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r909": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r910": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r911": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r912": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r913": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r914": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r915": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r916": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-3"
  },
  "r917": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r918": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1B"
  },
  "r919": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r920": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r922": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r923": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r925": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r926": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r928": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r929": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r930": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r931": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1"
  },
  "r932": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4"
  },
  "r933": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r934": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6"
  },
  "r935": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-2"
  },
  "r936": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r937": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r938": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r939": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r940": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r941": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r942": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r943": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r944": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B"
  },
  "r945": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r946": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r947": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r948": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r949": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r950": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r951": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r952": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r953": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r954": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r955": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r956": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r957": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r958": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r959": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r960": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r961": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r962": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r963": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r964": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r965": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r966": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r967": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r968": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r969": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r970": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r971": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r972": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r973": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r974": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r975": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r976": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r977": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r978": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r979": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r980": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r981": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r982": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r983": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>86
<FILENAME>0001410578-25-001113-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001410578-25-001113-xbrl.zip
M4$L#!!0    ( "*.J%JQ!4ANFA,  $W3   1    :6YO9"TR,#(U,#,S,2YX
M<V3M/5MS(KG5[ZG*?U#\\FT>,+Z,9S.NG4EAC'=<P<8!)KMY2HEN <HV$BNI
M;;R_/D?J"]WT1=T-GF'JZZJI,4A'Y^C<I*.C"S_]?;/RT#,1DG+V\>3\].P$
M$>9PE[+%QQ-?S3M_._G[IS__Z:>_=#J_WHR'R.6.OR),(4<0K(B+7JA:HBE?
MKS%##T0(ZGGH1E!W01 Z/SN%?_ ?ZG0^&1PW6$(;SI!!=G%Z'E7T0W2<7:.K
M[H_=B[.+*VA_?75^#1^>'B*X!^C:G-H -]*]ELZ2K# "_IB\]F5'O:Z)_'BR
M5&I]W>W.L9R=<K'H1C4:T;N3$'SCQ8 O+R^GFYGP#/#%V=EE]]<A9;]%D [W
MF1*O,;@!E<0Y7?#G;EB90@WT%ABO<SNB*U+ DCKYF*$B#:C6H@ 2:M*\02TM
M88\RJ3!S2 1/-LXR'[6NV1$;2":%^N72(#[_\.%#U]1&H!G(="=T]0QL)=EI
M5Z6[$0)?=8/*6!1"984+A:F>,DP=F<^5J4H!.[X0X!1%2@YKPR8*BP51CWA%
MY!H[),4C98R[6.$.E7Q!V*G#5\9^SRXOS\'O/*(]ZXZ+U2V98]\#/G[WL6?L
M/<%=D27'56F=2#=/(R"X\^ZO#\.)\9((V%5B!WM*-5#=U=6:P$7G[+*CNQVT
MI,!9#5Y#TV+^ZB)/J1=G8%R*,$EG'NEH,"*P@B%*=B[T$!6[DN!>@5.;FI0D
M!)D76MS[+M0F95R .*Y*^[02A9@_=*$V-CNRT*-<";!&W@W!HE98*4%GOB(I
MT_!9QC@VDMIUW=EU<)>L!7&J]&L+N65(V9E16THTWX>@(B50MU2@[E:@QO5I
M[KCP/A@7Z,[ VR&SXL%75Z9=_]7MX'E'^K,"YX_K4\V(XQ8,F8Z["UB,/*P,
M&GSZ$T)F7L/@6,HX@RZ*"M=KRN8\*($R/7Y>:_%/P5V1_O!E?&_U3Z.O6RH=
MCTM?D F8B8N%VV-NWY>*KWH;*F_Y"E,66J$\010XK=<DZF3439?,*:.&(9@F
MSLY0!VT1PI<()P*D*,"*-%H4X$41XI^ZN^AV"/D0>XS8)_,9#%G"8&ODJ.?S
ML'$(4M+0P9[C>_7;;;M5V"PLC-1V"&6"[)295?J<N3">$A<^2.Y15WOQ#?;T
M0#!9$A*ILDZ#4D5>Z5''*#-&"9_[H\?;P>-D<*L_34;#^]O>%+[<](:]Q_X
M33X/!M-)J\BZBHQKY6@^6D=SI79"O@(!+?5,^DSN(;!?D2&7L@^\7U11>#/$
M)89Q!G-[1:.83.'/P^!Q.D&C.S1Z&HQ[TWL 0+U'#?GP-!Y\AF;W_QJ@^T?X
M/D _#$>3R5\U1N@&NFCMZ"WMZ-#F8Q].WLYR6DO9QU+Z6"[O//Y2:0K);VC5
M_64SW?=[D\_H;CCZI9U42D.]GF-R%7),'$*?,:RZ;HG"U,L$>,6 Y6'=._#>
M\]W(+D*&MMC0#R&^O[8**U/8SYR[+]3S8"R]![[90J^4>U)"7#:0BJZTJ_56
M7"CZAV%NL%EK5RS0ZI[8;*J_/+O<57U$$4%LC[8T44 4 &*Z""<((Q)0;LVD
MFID$4^L4;XB$_\8@3W USASJ4<-,@3U4;693_+NLSP>HD<$-7^$O@K  &$P1
M:/5;3;]A4,460X(ED8]$/04B^!?V?!('76']D.(92%B]%JA]3VPV:[C*#@,Q
M1A20A"*@BD(]HF=-%_$Y4DOX$\-Z&A9Y$?W66*H9RY"SQ92(U6CFT440BA<8
M0@FD3<GOLRZOL744H$-\BZ]5VM?P\,1"_[ H2\Q V\!;.WJ[PM_+WW/-P@9>
MJO(?SRYJNGVKPDHI>.[\-EI':9,QD4I0QRRCH>(+=$V:3V9?72=5(#BN$.\?
M"JUM,OA;=C(P>%%(VT3_6^IAI:$?@89'!I*=0(-V$5#+B,A"YTS&9*T74FQA
M\F_,@:(P(3>A"T;GU,%,!>%YG&<ILI_],5I,Y_PL.Z"$5&&I$)(UYN.D" /4
MEC2BP6)#QFFCUF)J+!N?B)@LL2@:1/*!;'H]+UP2 B9D4+5:*M52> (K^@N^
M-V *HJ-[-N=B9=@(554%TIIY/?M@=F2C<U^)C]K[ H0H@;'5V5[;L$_@  RB
M8 4CF%=[3S;=NL(&[563#5KT0XI.ZZ9[;9^8,&?)/9<(.?C=!W>JNX^2@\&J
M^G?--E0FTU'_'Y]'P]O!>/)_:/#/+_?3?[?JWS.$G^J=CR9!>MBP?,Z]A# \
MLQZO'(;_$-!H?;Q<R?YJA<4KN.(V^@QWMR!.?0*G=2C16HRV-8HR;\T1V=9B
M.8%72$SG79)1\Y8>B@@&<WU$L@W0]MZDZR_A*Y'WK(^%>-5+J)66^6@>M:F_
M4U<9I7V[+F,IUNVZD#BLN) 3DM<;=T!?6]<B:MX:SKZ&TW-@@I>F;V/BZ4A@
M%Z*^Y53':3>=S*K=:CH)ZAT1D <SBN%P -=:SKZ64]\NJFO]74VMM]JLNWW_
MA>D=<IBD_R N%-P0!GTK5&KUAO8M_(Q'[VSA)PD@A3=H%I)HM=QHBZ_:YGSU
M3??,9)[9BVOUU$1/=Y1AYE#L;9?BX>PYY8U4V@"A7?L9[\W9B8T);S/E$D53
ML>*[&[*MP50TF#Y?K:@RX@QV2+0,"=,+J@*+J-#"IO(?LPZ?P&KFXQ3>5IF'
MVXJ-%^];V)ZCZ'/QD:L#8;5OQ&9WTVILQ";R!(E6*.I%:T*'-Z&<R@.:4@7L
M=I-JGE1,F50N#,*M;1W:MGJN:SJ(O<1V77-C*D5GMY[,DK&&]6Q))W<>6U.I
M')9L+U_I6WMCXGA82I/_-=*_$WS5<QQ_Y9L8<*261&1:%8<PA\1N,Z0/N>'.
M%A>"8FTRF5Z@.70#AIFX'XCKCB GV[JUJP.=,PH 2M-1S9#83Q-E-S\JG"9*
M@+5IR(.:PI@\$^83>?/Z,^$+@==+ZHS)HF1"VA^CW4BR$4TU(XEHH]DK6L34
MH=6BG98.9S/Z0/$0!F4W\/W#F4YEQ'8+RD8UU2S(');V=!^BD:8UI3<TI::6
M4MT0KAH90JO?!N=3ZZQK:K2TGV0MVAG9GF1-+55HNU2IJ^A;(N@S=/N9U%J]
M5FUF4W'.G?4$ZG8A>CCMWF$JPNMGV])[!NM_<]:X:,!N@,&N\XQ;IW6N"6TO
MK+EQ':);8JT%U+8 O2DAL*,5)>F"F2<'9/1"R&?B+@HW39HAL=M!9C60MH.8
M%MA 1 R"-^0 .30'>FAI"+:V4/&Z(F7@NWU!8$@MNI>< V+38\YI-HT&C>8H
M0-3JYZW.N.Y_N-5VCOW\D,=:6_77>R+(_C:077W57@5J-=/PS%^-PWYV7=4^
M%]RJK>+AOI+C>W:U6![9:950XTR7Y82671D5CMNU"JGY:$6%ARKLBJGZ+DVK
MG88GVFH<9;-KJ^XAME9K>YX-:7#^PZ[%/9[_:!5:ZP2']1"&75F5#E*T:MEK
MVZGV?I-5;4U/-K2*K+Z_5+Z'9%=1A2=/6G54S!*7Y'[MBBC?SFEU4#4[6Y:6
MM6NA*"'+HX1LJXC#IF&CLOW3L3&F\J0[^%G.?8/&CPU$Y6U^_L"&4?#N2%,\
MY48!;I]SOJZQ4;3/DC3*V>>KO!#.IM*<3=+<1_U;;>V7Q\]7F[V!37_U7^9O
M55G[W?T\U64!;*IZEU55ZB)^JY@&^?Y\Y>0#V114Y7G[5DD-]P#R%54,:%-6
MSA/E!>]5MQIKDI#,UU<1F$U;'[+:RKGDU:KJ($G*@E5!Q68653:^9-,JMW[B
MLBSTV(&QJ2UG[99]MKE54;UD9KY^L@ VY>1$\<FCJJU>WNH)SSD1@KCA[;_P
M(>9#ONQ9BK_<*MX=- >G#2KH#(S2IC=H%G:G/3[[E>SKK>RJNCT=+GV78T^M
M&35,Z44/M]RSGN?Q%^V4=UP$6RDZQBX<D?9!93.6G%LT>8G!SO8-(<H0CHBB
M.1?("4[G>X9N:QZ-\AN_$+I8ZDLPSU"\(&.RPM"]L%:OG"L^35<=C\TPKK)7
MI'->I(OH(1P0A%$BI!C^)IA>I_^_,0K]WPRX'I,YVI@2!3 ?3R1=K?4Q_*!L
M*<C\XPD%$^F ]UV=75Z>_P=8/=VLO A$HT]9U&8FO%,N%EW]$\N!+>U*)R0<
MH<#"R6!YN30XSD'!70,%2/2;@0H&_F[4^1/4/117H(>Z7.VH[@B9 B.IRU3:
MKHZ0)P_/ZO($38CW)NS\U-U(]QJOU_H>MBX*"V!0#:S=E.DBX(L+A1A>$;G&
M3DA4 M5$AR\NDT;5.3\]/T'26<(X->3!$T/;9CN\9IN> MFPHR4]B#H@B7.Z
MX,]=XK@:V[MBPKG@^H/6T;MF5%U"ZU"-P/6'>E2S%J)OV.KX()]T;A/]K1.U
MZ^BBSOE%Y[*FQ$-T5^:;JRK3CQIHPE>-&?\0N 8C"WW'M!IQ3XA4*]V##YKU
M\_?-^N$JT=5^KY5YT0$Q7E8U^)R6YKNLW)$YEC.#RI<=S92L8H#)1@N,UZ'M
M>TK&:.K98R["O3JA2QKV00I5BWX$']"&;WN, ":.%Z]U1H%DD^C+'CV0:BWJ
MD(_AS:<]".NA4_JSQL,NM,VE3KS@9YAT%*[GT/], +7K>YF?XPU_^W(</[E^
MS^ZR[T:;C-^4;-2-QYW?3@Q7'T\.C)-ZGB[Z>**$#T-R$!2 LW>,<U^K"/0>
M$.B@%N3ESZ2BRM?2^EEP?_WQ1(N*7E, @9G>?(:N4>Y. VQ^D/^O*"K[,J7'
M7+WVT 8XCH\NE0CJ !B_L9@"CFZ)= 0UURY&\QM?4D:D[GJU[-%T>]W72/P@
MV )!!,SH*R!L896 JZZ74"\<?T;NC2PPP.E'&"+I[DK[Z\L*8E?3-WDP>24P
M-I!99#5O(:D)D*0N!19Z&YID>+>BF:Y=NM+[NYR]G:X?X7\0?]S=6ZX=/,%)
M$<"N&[NF_-MJXQ4Z3#8/9#4C(JF,=/D1]CQQ&BK/??*KC\87XGX.YG/B!,\.
MA1W6,X*>5F$J]:A! %5"SQWWK."'6:(YZ%#(+-./'DV!B;>>HPOZ%S%P2X*_
M<DRD[^G!3S\2?,<%3+^L[PM!F/,Z%9A)+Z05".GP:'/%%3"]XHPH& (.(JN@
M+MQ$@PHRT_<J2B1XSQ011)H@(S&?#*D*SRJ=Q,YD!RSALJ8K-7'W^-A6*@K-
MC%OE8$<XC$V6L(*HP)@%[J@XBSO]% P4$ 3KGP^ #]Y .MB++C8&$K !?=/!
M:,?XMH?\>J'$\FPO#^IH9IZ HP?J""[Y7 VIH]=Q,O-V@F&I'&RO@6[+U1Q[
MLI"M>+1SPFMD66Z#3%WN2!@&YZ[,^%.B[*A\)^AQ;P'3M7K-]'JG_ A['ASV
MTUC"(WJ)O>-TO&^%/-H%0$G/,VN!"K!'J$7S^PI/('*'KK'GO0Y\O4F2,<=R
ML"/DJ^=Y?9-(U,=;TN:8K3I:^XN"T:B[&;T4 1RA1N+ 6BI8L8A"5G;JCY"3
MOD?A2X:!=/$1]GN;N!Q@H?.4,CKG>X,E=4RNTO/U+PKN9/3J-CS"Y%U>NB#L
M;2;+$)7OOPZR<]60BRF'Z#G[VS@!$_HPU@V9@S]E?M?FD:C1')B,N#X GJ-=
M$T]?^'3)?8F9.UU2H0AAY@VA)\ 0>6DHA2J0EM7)GO[]ADFE,5&^8%/^)/@S
MU?/5%"A^6==))16C.(X$TJ.OE32:!T-PQ%FFM,14*5-D0<1;=W3$2'J:"*.P
M3/%16MN=/E!$S(^A[%PIUIN$^I6NWDI?TOG#H)K"J$+P7&W9W*/]VXXR\<(R
M?Y#)K&!+9#0DP,_."<DAQ3.SG)OR&_*$J9L53?UFWT8BT>)\SS'IED C-TI&
MAHFA.B-2$8+C&(^J<-!3=\0%=9M-=%]Q4%<2.,Q6A[OO=413%_$1I-WZ>$TA
M$-&)^@F?JQ>L+SH]$X^O-5"?2_4+%[_=,YA_%J#O[#JH*8(]Q]4Z,>GN&-Q<
M%@VX/V)^![_[,,3I4"NKUIRZ(^0@&3Z^0/$K3.=!SW50#5YF\"6#R=P8M5K3
M(^0_^1QH9NF8K3O(.NJM^<C;:2ZHWR/A_Q9<Y&Q.;#.1B:-'9;L9N0UV+:_^
MV:1F[!;&7%7XW3EO59'IG59'RKE9O!<^B;W-$^2"[!4OVMF)X\<,-Y4#RG Z
M-!OQZDFO"_0!J7)^*T%_+ZP_0E!7B_NJ#;X7 >3L1<("T0?V\*NYD<B8KW<C
MDGY=N<GW(H2> _& R*R8L\&2#? ((X?BA(!,_ 9X\9&<GOM?7YIGWT^J9"GJ
M(ST6(RG,=D:.LGUC]0X[)FF0/&TQ &<P4@AOV?;!+2BL$8T8;HF^+TD9#D:,
M&RX$?X$HYL;<CTIXUIO1V'?)N8^@]Q5I:$=?0[+-27TO N[S9\( C3D[/UW"
M2GW)/?<!''KEK\8D&-_NZ(:X_246"Z+AS<E[S;9%HGOB3HX$:_U0SC<-_4)3
M"/.%8 A@+RO,S*F#^9SH(2TRE\'&6<(@2'Z&P5X?*P^NZF<W7O?!]?;VU20\
M?N$%.[69FB.<&JMD^B8:@K/S]Q?;X>*D7A8R'\51ZK,*.[]0M=1N#2,?U#>6
M2C&:HY1,U0GD"YL!>>)^C<EJ#UK?RVR59+OG>5]3RH<A]YT+^BN$7@>A]KV(
M^0%O="P4][Z/UU"C7B?^[+\P9$YY;[T6_!E[H_F0,#=]'/\P^(YEO67/3&39
M#?(,7\-"#TKI>Q9Y':%]IVP_<C98K3W^2K*G<G/JCC"23;X6=LO]F9K[7F2G
M-T!/OQ>;E\>IV>Y8%+I-U01/R 3/ 'SZ'U!+ P04    "  BCJA:4[7JDO03
M  !4&0$ %0   &EN;V0M,C R-3 S,S%?8V%L+GAM;.U=W7/B.K)_WZK]'WQS
M7W8?F!!"OJ;.G"T"9$ZJ2*" .6?W:<HQ@NBND5C9Y./\];<EVV"#9<L?8 %;
M-95)0&IU]Z_5DEI2ZY=_?,QMXPTQ!U/R[>SB2_W,0,2B$TQFW\Z6[K1V>_:/
M7__ZEU_^IU;[Y_VP9TRHM9PCXAH60Z:+)L8[=E^-,5TL3&(\(<:P;1OW#$]F
MR# NZE_@'_PP:K5?!8U[TX$ZE!B"6./+1?!%VR='R5?CZOSFO%%O7$']KU<7
M7^&7P5-0[@E8F^*T@C8F__[*?[Q >P:(2)RO'P[^=O;JNHNOY^?O[^]?WB^_
M4#:#^O6+\W\^]4;6*YJ;-4P<UR06.O-J16I\O# [J'-Y'I _"^CS#^):N+B[
MNSL7WT)1!W]U1$L]:IFN4'IJ"X:T!/^K%A2K\8]J%XW:Y<67#V<2\+7%5HH8
M\"U.*+]2T*]_,0Q/T8S::(BFAI#QJ_NY0-_.'#Q?V)RH^.R5H>FW,TSHI,;Q
MJE]Z+/[OR 70N3FU*9D@ K8!OSC4QA-N#/>FS5L:O2+D.F<&;^;'\#'"&R9
MTW0!-X?.$/EBT?DY+W>>B?+Y[F59?>OTI_T%8@)[IT6@T'S!T"M4P&_H$;K>
M'/6HX[1-VVJ4*G-.#C33364JV;LFVJ;S^F#3]W(M7])"*;)UL&/9U%DRU+(L
MNH0VALA"^,U\L5$'N2:VL\JB1+%DWK]3.GF'40S,X)& JYMA:*SE.. INHZ+
MYUR+K3EE+OY3V$OW8\&U7%3 HLV6K 7/Z,?F!W+@QQ!:!\U38F$;B^:+BJM,
MOV2Y_&Y.9CT$@Y[SC-P!0P[TA]]->XE6;L#_OH?-%^#(_2PJ;M%F2]9"CY+9
M&+%Y_\7&,\_K%94PB:16&.8964MN>V]H%I,UE6[)<HQ<:OV[OP@&X2%R7(8M
M,6C!%S\(=AWQFUA$\"$:'&"9+KBT]LO6"YKQ$7N(%MS]DYF8H,#TE;C^C&6$
M9P16199)7,^OKD;YPBHIH>F=C$P#Q$:O)BN,N81:B&>360';_J^K9AQH)[0Z
M:ER>^R7.G>5\+A14PZ"-LU2! VH;ZRV@:$%76]H>K8LOGC(VJ8>X#17OP=]^
M(YRG':R;PE*A#Q=!C<GJ4^SR-N_NKO@*NUXW:L:*-OS>[C]WNL^C;H?_-NKW
M'CNM,?QQW^JUGMM=8_1;MSL>B35F()E-K4B#-E] 4Q:O1Z'#J>F\"$4NG=K,
M-!=<H<US9+M.\ FWL:90J?_!3V_&%1"US1=DBZ9^;A8XKXJW]I(QT.$&B[%E
M?EY?WMXV&E=7]=O&W66S>7USM<%XR%Q:+"H#F'+0AF_5^8Q^RN@\7H5^:S0+
M]Y1-$/MV=G%F+!U@B IO;=IGQCO"LU=7?%,!-'PIQ7TC_-?]SQ(6*#9?8K7<
MMLG8)_A-,3N00*945R,HU<':!CB_K)H"O[TNA2EA2A=-J'(D,&<6T4>WH1FZ
M,+=?F'CBS^_ </ON*V(J?EBAYI%@G5=2'_)+[2"GL(1S/P<PTW%!&NZF%GS2
M A8LQ5I>12.0U8;@S,)HVG6C"_$A9Z4__>%X(34)D(EUHL)?@? -O9',+HVF
M73+D4)YA\9GH=V/+'AYTRE+XD#4U@ZR#I@B8GJS"O+XPTJXGKW!PX&44Q4?P
M*@G!!<.48?=3N-D*X-S<D0!9NA^6O>3'!(*-"PFP*E4/#N+<0OE@7VO675,P
M/%B<5+"XT0R+8,\ (QZ$%@'G5VH#JPZ?BKF?";&I]*H5R+/-!CA&KZL,>% 9
M+,5U&7Y9NGR=.*9\P*/$!0L +F;0TQ!#CFS8*(>XIG:M:@EAB]^A0C2-P#QA
M(L;&%$O9+!85\;I*S/> W;:A*.E#4\A3G:*\X*G#KJ@131?UV]S?HREE:,Q@
MB;MDG^)[95N(J7L0YA'+I K4J@)KVNT'S%]9"<Z3ME1B2AX$LJH Q49AE236
M%-HVG<\I2<5UL]B1@ZHDKJ:NNC698(^3@8DGCZ1M+K!KRE:8DM)'CF\6J36-
MS0[YB1F")EV3$9B-."W+6LXY(&C205-L8=E\/+UB5 TWS>O;VV,"/Z<"- WX
MAK@7P6O)I8)GY/:G8_-#OC6>A<J16T@9VE")+E=@+A%U)(WXVP4/ G1%A!6E
M2QWB:Y6'*B7PA4IHA%O1(%N:5"I3LJJW=$(R))]DV2X8E?E6AQZ8AD@BADEB
MJ:R7UE!6>P9M8'[R")':Z;-HX:CL=\WKN\HGVHH Q0Z;JA)JNAH&"=@2392[
MJ+3\D<&:04A-5\7=^<*FGP@-D9C6*2.<6N^8D,XGK*8+Y#8/U9N6^P=V7]M+
MQX5).UM="TL&7:5J1!7-NF9C<3;<<\NKZ9I8W&Y5&I1C2AX3L*KB[6:QNGV9
MC'_RTV?$WV+K3V-N.VZ@I5KM&* K)*NFIYPD=W.3NV9RI6. NH"DNSE")>FP
MZY.P6?NL6DV]L4Q9UA:54]/YLL0FTX^!I]6+*N$"E'!S.& 7DU)EHEQU2&/K
M#'5(.1D.D4=K'07F>614F1]7C3C?Z\:NR$SD)1G@=HV()8\M)]30".FBL>:L
M4BHO@W\YWU1$#_[>5R:!G-G(PCA),@[4ZPW5; .C,?SWU'T>CXS^@]$?=(>M
M\2,4,%K/'0.*/@V&W=^@WN/O7>/Q&?[N&G_K]4>COW.2P)#1J"!#08R"4G95
M$VM4T]5E_!0X"EZ0:K0S-728_2D@O>$I2E= :H"\HIW'!%E+O%U0<BM';6*E
M*437E4C^4RV9#V]H;QNE@1VSILFK+$WW\I+D&? /0'M^SH0!=5R&7,S$M.4>
M$33%+K^'[[0F_[=T7/\6?EY3*]":AM:9VTZRF5S92M-U0$W2P0-EP!SQ H'6
MYYB!N*;E>FH1?_G EV&E^1L[72,M66<'. ('J8Q_0Y,9^FYBPC]L36'D&2++
M-AU'Y"@,-)++,+,V$57M9?.F7C\1<RQ%4YINYP\8!8_/!9*8T+J A@90S90N
M127*[N9P(E9*@2HO-68YP:JX6%4%L2DPIK4;D'20C3(5].$(!P7" YGI:.@1
M8A$+=]YRA-1UVGO8[CP5O+(\[[ZS#?E;6WY.07^9)4%(4EI#N%+0V(8OBVBZ
M]K#0*@64X>U?+<%=K(=0[X)4Z$&([H?+3) '$Y-]/H(ZG4QN>8<M1C7?U.&4
M;4ZCVI]Z-'4R;>J('56_:\DWF:/%-+2 ?0,:MRV@H"1='=0("9&_@V]E)G]^
MIS698X(=\<+!&_)EDIB'6F4-C48)LFVD"\BK:7P^,'6O=_@"0&^@P=DJ^7$C
ME:K' WUN:76]O=K!#%GNZ@R=4(OL8%E,T>-!5EDZ36-R0_2&R!(%H]_F%9)5
M9DZ>)Q+^)<1_<U#2T RJGQ"4I<<## V&'E54C@%>YHL!MENCWXR'7O^/*A[*
MX7)N/..Q?C#+?^8C^D&HY  Q3/D15I[_ '60]_\J! WV\6J2&>+/ G:G4W!.
MLMGYGIFHXL:H:+H_#;/3)X4$ERAS!RU%._55\_KVKFKG6(W=1JZW[DG/V5(7
M5).%@C\+ Z(,&'W#X!WO/W\X_&C[ XQ#Q.(#A 7+BJ0$(^H$_FN+\='](NH[
MA$0G0[0P/_W!.;@-U4$O\KQD\<4U-)^"X,5-VS+(KA3/J1I\T(V%T$1,A,//
M>W8_$+.PLYZ/;6_[)-<[!7/(IX1#\ D253V2-_"V!8:=& (:&HJVPXZJ^K+=
M8*S(\_B>=$Q;%FB/(>G#6C(7I$P@JJ-K'4(0!0&.\47%M'$0@Y5$::O 7%ZO
M%$- 0Y/1UBNIJD_3+#3;2O$S:86SLLBWTM/K:FA+!9&,W33/J0AMM[TV!9)G
MW5(V#CF)T[21C/K0]*1$K.V',RSR;>"MY'Q9/$HJL=,TG]R:T72?;EM"<8M@
MK;+(.VZIAA-7^30-15D3J5.4Z@X);HCDORH=9#N)?5U:V5)4B$7U==.\J3=/
MP')R:R8U59\VEK3]%GWFH6E=]32M1%$/J6G_JCKH@Z;\H0UQ$H'?7@"N>-1@
M4TY^[D5V_D>=PBE82%%U:/KRZNC59.C>%(<[YMP1"L7*3G[&%CX%]#-([@-]
MJQG0';1@R,*";_C=1OY=U-:<WWW\,PEVE:I15=R"*JZ.S@ARZ\$WB3OM3&(C
MK9Y(T0;_M^%#+#\8FE+M-$PAAPZ"L%A=,SO(?2'P.+%-D39 4?_H9F)N>>4%
M02*54["',E02&$WUIWH[V+%LZBP9VE[A=/CS?+;J*=Z[9KU1OS!JQIHD_!%0
M-=9DC;_YA/]>P9G=;2FY@2@]%Q1?I<+'CM8,?6<\YTA&*<*5HE8*D]=ZY7F!
M59"*>_,H@X":;DRU;)N^F\1"#Y1UZ/+%G2[M;>E2X,Y"XQC0+RSOCNYH23+Y
M)_%[C\6%DW6JJ@V,LQ,X8(!+$E:;G-#KT?$[I9-W8!Y6"H_$-<D,\QTN$6_N
M.BZ>\_W2\%K2CTQG'I4OZY>;HW+0M&&2B;%NW/!:AP(K!@PSQ(&!/!8J'<$?
M, &KZN$WM*4V^3W5M$H5>/D$EF)0'Z*YB0%AUI\^ )*F_2]DLNS"JE+6T&&H
MX1X>$W:E!TVG#=G$?0:7,7Y']AMZ@N7+JVRM7XQH1'U7]5,P(R45[.& N&3>
M(1>&\V]M##GC5P1K7)ZV,&X*DI?605M%^9(?PE'N;'V >\[Q.RW%I?BT#MIF
MRI<\VW,V!V,ST++L:$).:J=J-U+951Z8/#S+>:#+<F;# ;$3M1NIZ"KO66Z;
MS?X6TZ&=-_C!+SD,D46)A>U@@S;CJKFY'<OVVC!$(_ G_&\P:,A@D98J71Q[
M-SM627A]5<3E/Y'TEBP$2IN4QC<:!;#E/J )S[C%<X0L@?)GI+"?%S(^5=EN
M&M'0162'?S6EW8]Z=K-T+F!6(R0>";BX;@P0LQ!XR5ENZXFC%=7"A0X[HCLV
M$F4M:'K70T7&[]AVL2]>)D<J)W,TAE*J C2]QJ$B&S_]$WZJTG^AI("Y2"B>
MI.5DT<5N;J46&'2&R%TR,J;B4 I_6VG,ENC'(N^X(R%W-':Q$T6HK(/+B[IZ
MUKD6#WS>W"3@]3H8Y.)/%B&_3'!/FS\:PP\1\H-G6U<)RR%Z7 :R&W6HK'OW
MZCOX(3/^8C(H [XO/FF5T3LNXRA=$[NYOU' +CH(S4681R0IC9^;%B,6U4,#
M]'!]Y!:AK@9-;WFH".G[Q$B)P&.ZF,N0>\*:1OIH+&KG2M'TRHA2/(#G]!6#
M+( 9"M,6L"L9R9.TITS*V-&=DP+C5G"<_I'\(#R0/B/X3Y%3QH\FQDY]2R%\
M--:R8Y7H>L-%J7/$7M2$^3]RG+7<Q2-YF=HY&L/;KX;4+\WH9X=ML=Y\),%%
M02CD[</^;MI+#^?@B',!*\S0RDG:8%']!!9XB.%HD<UD]1&9B1<NBCN^)+)1
M'5X>[@;I3A42&%5Z>'I_IRE6MR-[?+K CY<,8 4,$O".@E:/__K?K^XZ9CYD
M<;5]-6%%VO#:AH^@>6/AM6^\<08,.C5 S<;JW27#YF4-.V"DTC,8/?Z>"Y*H
M*$CBVEG*'+UZ]0H\C1)S6>XJY">HH7?)BGS8MY2LB$-X^4)578I7%?*2.T5#
M4E7#(62R5Q4X^51Z1BHG:C1)TA_"/89,<B:<1L],YY3M12K_(=QBR")IPBGT
MK&2B^FJ>DKU(Q=_#U05)(#N1_3&]1P,33Y(ORV4D<23XER9ZOOL'^W45$@DE
M'D%:6A_.DU.,)%?2T(!3\ G[JQRR'<**2R(6?^@V#]3K>D>)=HIX^=9&^POB
M!<_7]5]L//."FID#=-?;MZ XV1JXZ;E!UX2+!-PD8^Z8NJ8=(T/<X"HO6T7^
M1.J 4?)G+_B(&&RM;OJ0%IFD=KL<E**6>M6\X5O]U71$)10CF19+$G>OEXR>
M,&C"H5.WARWQXGR*J2:5/T3P\@FES:OF9>UYM(&/AI)?Y4YUU[L>!F?':!SO
MYL?/:C9:$]G[028 *<])QE^1X.<:6G/^5QY19;0BG>GZ CK3;=7SK"R090P,
M9-*"IEF92ED41@5N@,"5G]8H!GL6.34<*^13ZRSCP$V]D7%RG=NO[W"._;/,
M0)L_QQOPY!24K)_@3N%-H9I&72A5G1NSJ[S2[74>O)Z39P5/K>8!XU= 0 U]
M7_@9],A[M.*+'P26;.*WF+.>^?*7WF['($0#AL^$2&*Z9L/_4C 2%*T)9HPP
M-T97@URF)3RW4\VDAA]R&R&1>/<[K-.9R;/8MB9S3##@8/(S<O&I6')0B':,
M2QTF/\FX128Z!>4\A*ARR"/P-["2@8\O?- 89Q!)]YCQ",WXQ'V(%GRD(C.P
MU3:,7HBX_K'8$9X1/,6625SO$*RX?L3K9/7K%_7MZ:_?O,&"]H5OMR(<0*DU
M#P;V<G(Y 1>5NG-/(_PV^0.84MRIXGLTI9%D9=T/D NL A.3?8JSPGRVP!\4
MH<)G!)=/);UIIRU6\FJ-U[C';Y!2EY)5S$N>XENEJH9N9@\V$WV])J>6= ^O
MK/68%EI9E_RO.:@J1=-<786FH <[^U0%+6:FLL.):$4OVXI'?KPWVB0XATI$
M)6N"9)4G-<D/9II<FO;9#F;(<E=B\Q=RI4]+QA35$,(T(+:A4Q9,UUXW1&^(
M+%$P1FV^?M?]L.PE3Z3#KU?"/W[34H)Q#DI'80)ER:UAA-#S9 /$Q!(Z\[KP
M0IIY&4@:@F:EJ[P_A&+1I/4&W7>&GI?S%WXAJX/M)8^"<OZ<_M*%)2GA $KL
M/C.5"GJYA,<MYNY-!UO9Y(RG$;7PJ^9-H[(#, 71#G?UXBK0=/$E\HGPJ(MI
MM^E\[B=Y<%JNR_#+TN6/NHWI.H[F[PJW&./7\,4&L3RL49#P<5K2CO12> SQ
M/^<_7J#A7_\?4$L#!!0    ( "*.J%K=_KU;2#,  $4^ P 5    :6YO9"TR
M,#(U,#,S,5]D968N>&UL[7UK<]NXDNCWK;K_@3?[8?=^</R.X]3)V9)?&=<Z
MEM=6YNSY-$63D(0)16A TK;.K[\ *(HO  2?@!Q5365LLP'T"^A&=P/XVW^]
M+3SK!>  (O_KA\./!Q\LX#O(A?[LZX<HG.Y]_O!??_\___:W_[NW][\7CW>6
MBYQH ?S0<C"P0^!:KS"<6Q.T7-J^]1U@##W/NL#0G0'+.CSX2/XC_UA[>W]G
M?5S8 6F#?(MU=O3Q,/EPN>X.^5^LT_VS_:.#HU/2_LOIX1?RP\/W!.X[06T*
MJP ]Z/_\0O]Y)N-9A$0_^/(6P*\?YF&X_+*___KZ^O'U^"/",]+^X'#_?[_?
M/3ESL+#WH!^$MN^ #W&K7(NW9^PE;8[WD^X_)/V3KVZX:9 %/MV//VY :5L>
M,H?GY^?[["L!#>"7@"%UAQP[9/*I1,820M#?]A*P/?JGO<.CO>/#CV^!F^!5
M0JN:8BB!W_#R[_]F6;%,,/+ (YA:C,8OX6H)OGX(X&+IT4[9W^883+]^@#YR
M]ZAH#XYC%/_]*23Z037O$ODN\(D:D1\"Y$&7ZLWF:S">/H7(^3E'GDNT^OJO
M"(:K#Q8=]\?C;0Y9Z)-![)#(/$ SX']TT&*?PNVW&VJ_"VJO8.!X*(@P8$.,
MEU3^P<AW'T$08N@P/,B''SX,@XG][(&@)I&-1NB:MFBQL/&*\!'.?#*M'=L/
M1XZ#(C\DZ\\#X;@# <7I.@CA@K ]N *A#;T6M#8?L6/:OR'DOI+%DHQUZY-I
M,H.$Q:,@ &$P<H@J!9 *Y!%X5.>*$&W9T,W@PW&D1WK[HN:66-$%F-AO@,R>
MMT?"R$?@(-^!'F2+>5N2E/OOF*[Q$F";3I8[0$Q!:\F(NNL7ZQOH$\,$;2]=
MS-?*/D']$MADY.$M"ON)^6J7:+$D)I"IU/4;_1&T7H.[&E\#7S;F(X4=.2%\
M(99_"+:H#*^1*YR/.KBC@L;P7!JY+K.JMG?K3Q%>=&(%6H_;,1_H=,5@3J8I
M? %W*""+F^/90<!<+8;E#48+XG%%BXBM>N-P#G"I55NV=(U&U]H"9G3E?P1+
MA.EZ3R1'=A@.^1..L5L#=./\-!QM<)I3CSSV;386LG\&5 \]-#<>P0OP(Q!<
MK+X!-,/V<@Z=1S#K8LGH8.BAN7&'B%-$)J4;ZZ@&IJAC,#1O>B>]WQW2 \!/
M<QN#7LQCG2$ZINX*8/A"1G@A/K\-\>^V%X'Q-/WKK4],-0NEMI9@DZ$ZIO8.
M^F3(2PP(A]N2P^TK@Z^-G03E]8_%04"PL#^""*,E_1\+?>Z# $SWU_#[K] %
M>,^W,4:O '^H))T7XO0PWO1'!]Q;_T)8=/AY[_!P[RAF4G$L#N<;.W^V[]K8
MI3,V"D+BT+S!X HM;$BT>FI'7AC4\6"5.\OSJ8$F43*#)$8^M8-GQM HV)O9
M]I)&]$_V 1F/_H5V&5"<3QB^ +B+LF*5NHB%0F#WK]]"ZL\]>^#:)U,@7M+N
M8!#6T:F-S*$?[KMPL9&[[7G-E">3%*"Q^%-&'.NM/5+D9THR\O?<6' =HLCI
MNU.$F;[U@^^ZZP[093WM+<#BN>G:P<<UWV][1.<$)^Q$SV!OPX8.T>7VGD&:
M* CT83S=_)_K,2A>;:=ME@) X5S@;OX*0SI VMS*M+?BY<SZSC@<L+14@JV'
MG%S''LVY(=QXW:)_29>M]1_^V.PKQM/RCC-V5D;/Q%C;SF;2>O8S\+Y^:-'#
MFB>->M@?GD<BI.B&_"'6,V*C&-0#(GB"$&)&SP7PB<J%#Y[M!R/W3V+$Z%_O
M 2%T8K\)^-G3:'\<"KC?XW@Y6:6S;X3S4B.K0X+;%*-%.]5"@U 6!01OM(Q]
M]V3L]2K7=+V.Q9*RZ4L#-E@39 U /L+$@_SZ@?RTQ!!A&*Z^?CC0,C<+T9&*
MM:H"NC SA-"[-:BAZAP-O 8=M5^#JE1F@/7F:.#U1D#R$&O+T69M.3)A;<DG
MY@F6UV^.%]%2M"1_+UQHJIL*+;)JXP%56Q4ET_14%6^90?O;/F?W4&=7T7WP
M1+K5.#\_/SBP]JRT9_)+TKE%>K?B[BW:?[(#V8R@<0MR21-BZU0RQ:UJPU&$
M%TXH:0L-"TL6C:M<@*% :AE02",?M#,/7,)K5(5$RT5!&#RJ=IC+6&<7!SZV
MZ5+0E68$.,QH!?DMU0CRRQ\/&+F1$X[Q$\ OT $<U1>!E;1!!C@L.33YOT8@
MX.JX%%9&&!^ZJ:8KL!8I##^8CHOQI:I=B6?WVMUDI8\KDZG_B'R:!%)9[7EM
MJE=\42L-U!=0D2[\7%@AM4+HSI;_"N8C!5ST60$^\EE+($1Z<&- ZZ42?Y9O
M!PH0W)62 S,\_L)5OP1314,WJ[R8<4@RXJ +>PG%9$WGHC:X<E[&Q6EDMW\]
MG0(G? !DL^2.IR,W9I! 8U6:<55 M:$AY L57JUA(Q9T,S5J2@C5Q6W02:1&
M3#*SU(G0ZCH58AW) 3R)XR1I(8D\2=N80[?4>9*VJ4M[=\Z4FD!0#8P&=ZFD
M).3C;A6H#VZ[-KBD99*V)S!80ECN$BV%'HJZN&0RBX'0&@EA^=3)H-O8'!4F
M(P4<!K4M$J03@R)%MHW:EVOEZ%_^>(J> ^A"&Z\XVLR!*$E9 -,9@O?V HRG
MZ0!<Q91 \A$6PS952CFO4.6X@RDB%U&J?A4(:G5@+FR/GKQ_F@.@XKV(P(7F
M6]; $'*E3HNX02V2NW-7%"2 5'$9W%$1(Y_U4N1(:YTNUQ@C?(DP)EN2]5&Z
M!YJ9C+<G:>8\R$0&+E:97]: OCM:T+L$)%.MCZ'$H<J>!M,@H@RR-P@7")/.
M=8660@8JMFT[^WM6"E2;H,&7D'XXD%U^%"D??*LT?O4!#N9P*=@>Y;YS-PTE
MB*$Q%VY^"A!R[+O9Z(C8A82C#;JE*:"7;&,X:)F1.[R( NB#(#DCK)0[Y+6I
MSAV*6NF@/D9!:E5R,&+JBE"=Y0@KF(PD..C+#?*1SJ[2)62'SPG:_DQ4%;+Y
MQL^A9;\.B>WW7 E?$=_XJQCC]'NK?!^'-8@[RK YOA2M378OCX[6=3;OE-R#
MU\QE9!CYY$<'5*V[M?I0]'05>M' K0GI.\T5<;5>!BJD703<=K%N*AE4C=K@
M:WA-6K)KNHB&W9:__5 %3?Z?R"8BF:Z(5+[#8-/!K7\9D>']\)_ QIPKR"Y6
M]W9(+RN;,ES?ZS9?P+0<[0)7;8!4V9,#?)L(NBI-EH63I\B*D$-1M![VAQ\L
M@<.NZQ6GQT2P?,IDT)VDQP3,10KCZTF-Y1'>I,5DB&I==XFQ6 (<KNB9I)!>
MM/I7!)?QBD?MA&0956@IM/"*;4WB!\5+NN IM*S/CWS;M@Y0/9&AVO@-[@4I
M$93U?10)T3HE;RB5@-UN53S!=;'Z;O])#"D]NR&9FC5Z$*IDS3[,XE.*'TT(
M2Z=MS5Z:\$O43]OIW$S,J!7.@T_Q6D1FIWH#XCJ;]@%P/L[0R[X+8*S)Y(=4
M@<DO?]R!F>U=D\U!R*M<X4"4%$\ TSOF\7#<.57\S,6Y"-!T%LAYA/B##::^
M7.RH>O*PTFIN+N<T '?KIP&$Y++]2A=0I:GXS*9B8Z-84ND%JC1MP))N_<":
M<D/U,1S<3*B1E#L JTB* 97O$_MM%(5S=C2_LNB]"%Q1\\T#-X)0A2KW,G@-
M8KNN;9?PO536SL=#4T5[&?%R,3L?X>'/8&4>_F%&E+X.(SAW)0#E'S22 &LD
M37RF2@BL3%Y'9Z>JN8Q4<!CVC)00Z<VY*"FR6BT"F8GQ7;R7-L:K*<*O]-84
ML5$0PHO3;[(6IE!<N:^O:%6/^F[W[2HB0;4P&MQR2$C(I1JK41_<AL2;?W8)
M$, BZU$&XBZL?+"!"(G/.N10$!H,(2R7+"ET&W,A92M2&'Q0.\'#-K$04BSU
MAH^3.^<O5IL??X, $R;,5W?@!? ._M5K+ Z"*C?7R9COP*87@\6YZ1*:\FAQ
MG3ZJV:3:2^M(<5VQHA;(#A\B5J0N%QVN2]7@=NJ.$#ECIW(N[4!4 5D&XB[H
M?# MA @C:#)0!:*ZB9!5\A15CSVHC>(AF]@H&9):353\0MJM[X(W^M#B;1!$
MFQ=[XW\E)DJML7#M56]N&&,J0\]JC1LQIMOP<VT)HB98#FZ&5,G*726L3([>
MNFBZ;ZM(!N5@Q'7-12@=YTGHZU.EYTQ'&-.$P+H ,X5YL%?L2BJVP]U@[[NT
MA*0R"M''4.+3+3T-UKKN6J 9J'_4AZ_+SM.:.TO3$XU:5X;U:\D/-B8+%J$D
ML..B:EHPG7Z1+!OJ'0CUOEX7FIDD72[*@$I$=S=5&TD#56$U^"RL0T9VBO+1
MUUN@NY[OLDK<#(BXQ+0 I)$4>1FMFJWKWDH)N(AD8PY?\)I#,E?9:I9=N +/
M8?K0I41YRX!"F?-!M1-7J=(B<$5"NU5S*;^1&@Z#JST/Z:SRRY#5FZV-S]JE
M/IXL4\N#K3HD68;6L3W,^+#$1;U']'G5Y"]9^RL](UJS%_$6LWX_K3.Z%:)#
MK; ;/KO+)R=W?4M],@:/H$\H@>/IK>_"%^A&PALON7#<D+,04A=%_X#AG#FM
ME-5SN)P@27EV@Q[4N%#=1YMX?)5X4&.L!HW4"\A(@O4-T._A/LWXV7G[V4O>
MH4_?41)=L%G1I*1!JHV&H$E\&V=EH]IT=71'ISJ[41V<AKV_LY*(S86>2LCK
MO9LI>@[6]^>D98,TJ!^"A?1^IJIVXCBO2DO3."$/DU>W;,:-#F]ZJB$N5!N[
MX>^ JB8G%[M6(Z,'BS3RO$MZ/@/S2[VY,/RUF0?5T6DY=H($K^))LOXEG1_K
M/^00X$X',6")(CEH*PLCX2:J&GA8,U+&E.JL'$.]9^V0[Y YA-G<>83!SXO5
M!?"=^<+&LD<?JYJ)#Y0I-#2"#0E2\K-U%<UJL*'<L/69.G49H7J8#7^6KI*4
MW#DZ!1),FW15YUK%+>I,-=VG6(L851]>%;=0I[OCHZI*HI#-*-T'4V4$2.>1
M2?4_?@A=Z$7TI:@GX$28G8B*'Y,&[@V1&"UIB$*&^WAZ;6,?^K/@ >"XH&'%
M[T!63=3?B.+ <;]C&B.WRH155;.:'.RXFF@0S4#UB!J^SJA/+N0"_0K4&UM,
M7&'G59HVKI=]YV7$1PW9DC;OLXQ8[B.HXVA4$3'?;U G1NLT_0VX,[("78$
MSORJ!Y#XP,*I* 8W@E#I=!.!UR"V.]M:R7>DAL?@TT:$>':BR!#67"N%X0M[
MA36M8:$; &G5E+B)I*Q(WD@KZ63[0_8^3O4]F[(F"J3S&[6OJE*2!U+'2$.-
ME8R$?+65''7]Z;B_(H+\]<OZ7L^J)%P96IYLXL.;06MUFHT'7X?>CE-J4N87
M$VDB3/2DSWBHEY)F(I3UOD>Y?OAEY! W,8 5WI@ 6J@T$GA#:*4_8B"?+)7M
M:M%?:MGZA<I*H:":& W_3J6(A-PSE2JH:[R(3%+I(0;DEM7U7\M1FRB%"\@J
MJC2J@+NY?$Q<AU$UOJ:+Q\J5%E6(:K47O]L8TAJL1SN4>5-%,.$*R0/43);4
M%I0!E4CK;K67<!95C3WXNEY&-KN@\Y'4FR%F=Y3=V [TY'=/E '%>5$NJ';B
MY/E?#J@B@1UF?&4\1M7C#Y_AY2"<2^P*$"VH_-_V"QR[([^R#YR_KY'*T?3Z
M^OH1^CXBYL/>@P&: ?^C@Q;[C*[- S7$QKB$0GH(/;WC,GUZ:CQ]"I'S<XX\
M=Q-%_I 3''@+ >G"+3#F_/STZ.#@Y.# VK,VW9&?+\?W5]?W3]=7]*>G\=WM
MU6A"?GF:D/]]O[Z?/%GC&_+;^/*_?QO?75T_/OV'=?T_/VXG__R@\9G5"5V@
M1)OH I#.YV!C^=!,'_*!XG.P_#;U9ZWRE)J3EMB)GL'>9G)EE9\;&> *(A<.
MD)-36 1T/&B7QTNZ[@I@>Y1)9IE;#Z8H$)G&9>4C(.D=R.6/3\>?/Q\=G9X>
M?#XZ__3IY.SPTU"B2BS2$++BDJE?? 3+!?*9C9(>)N7 ]2DCQK*]Q7HDN7RD
M&I@O92O1H%\ (]>%\? /-G1O_4M["4/;DY_LE;<97#!'+05308]^(3V"D* .
MW*3L1RH=$?#@8CEN*181(?KE,7*<:!&QNV7&X1Q@2@P&<[JNTW0;?6%!/H'4
MVP\NM9.VDTF=-OV"G&!V7>R*+<KQ^BQ_]UH,/[B@3EL*2D*+?L'<(Z(I?DC(
M)[W.;OT08!"$4MG(FPPNGD\MQ2,G1[^$-F[I'5FC67"[:J>: >Q1&K;G*7O4
M)=2Y6]+UIK48B"((N.$7*B/P%EY[#/3KA_6QRO2[AP+@?OT0XDA7<*$8_R&+
ML!>Y]&5YA!G7PQ##YXB=RIX@OMX)9=M-YZ:XC*J:T0W52_I,/6G-%%7_C.88
M!%9<+KS@2 QOBJ^I)D\)(8:)*$9K'(5!:/M4WT3SL@QGBB.I.,7*!!@FBGL0
MQM[L'0I$,Z0 8XJ+J":" O(FL[^%!6O0CRFN9 ,Q;J5=&KE_1D'(TED3)(C5
ML/7BN7@9\R.(BXS $\ OT $/@%#F/@('S6*9L==!A%&NOH<=7)'.VBA2__PP
M3.^8.\#.W[A7$:;.'<.;(<N^Q4=U@NLW@!T8I"E4GI-<KY_!->-S:W^X'H';
M(>K8"^E UM*.!A?V>0_"EE*X'=)F^OI(+""&#BNB(%#LJGYB0L?3&X2G (:1
M>#_4OMOA4UH'?<U[-8*W0S%BW>Y>,^KT.[QJM R>M:;8,-T0)3.H6_T09_1'
M?ISR>$"$/A#"^!FZ"^ 3<87T0O<@]:$8O1/[3: QO8TVO!ZU"K7UQH<MTBXR
M*P"<^9<1QL!WL@]@$-+9;_&MLITH5YO!AM>M5F&_OMBP1:IU:0?S&P^]TK/4
MX!OA, L23$. R>[,LX, 3J%C)V0W4JCZ0PRO1JU"E=T27ZD\_=85I]?Q9EUY
M@ES!9O\@8P0L,9;R1%Y.?'Y\\/G@V-JSTB%8:3'IS%H/8]F^:Z4#K3^RH:S_
MC ?[?_7+B 47D6;IX]4'BX"VX;D^4^I_Y8S.!9?RZ.M?-;?\44&CJHVY^MOW
M<X$[)6H]5*YF^.S@Y.SPW*S2:"V*Q>6*?EWC&>C'IQ\5I:+2-J946/<YC?(%
MIU)VZ)=QS<<#M;D!1TW=@#SVYC"\QA.'1EE>GL*(GT#<4H[G%^3#D[.C4[/,
M5#TI<,EI+1C!+B@N7V-1,JZE$ &98AK$B[H(\[XXF5W?2O$"T9[R3G=);#7J
M&UYR%O!M+8EUYL"-Z/-<67_B$@7A#<)E1R+[-)[',(+T#EZ^5T)[(>X(53G&
MI GAQ 5I]%/DM^O!17?!K9K>:6:288'<E M\2G(1.R>$+_3&V'HZV+QCW16_
M316J.<5F:P>G""N?=.6'=-OH3<=#ZBY8;J51'?/"G*Q M%C8>$6HA#.?)2_(
M>NNP)YK8Z0</.O3:>=^]#D*XL$,07-%3G)YREN#DX/#@L)0EB$>UT-3*C&NE
M UO)R"R%L!G;^L_UZ-VE#:Y X&"XC"W*YC([WU5CC##1T$FW ]TKMTF+?0-H
MANWEG& E>HM7 FM0BJ)#H2:7U$D([\E65$DM]L*SZ BO Y3 &A#<4-+!C1S$
MI&RQ'/(Q@J.3LZ,#,T(>W<B&2YX><8T":',C(\6/NB,B2KJ5<#Z+>+=\K?>$
MYH^G E>S'W3O494YFD5:CY8^T@VOP 1GOAF4#NC!Y&8(U2@%X6*1^VJ(&2WI
M38Z7/2>^NN)FWEH<GYP=?C;'&*IPF$N 'J9_)WQ:1 LAVPO?33!Z'#U)>%S
M5A-+[3<Y2_/?3;!Z,I;FL=4?]WK B%B>.,D3TL##7Q%<L@KPJN?BE%IJ,IF\
MZ&;')K,6&PR6<_H.1UTY9UL:8) ;:+22'+-DOG,YYBWIR<G9\;$9KD#_LN62
MKE_<3V@:OMH87($7X"&&L[0D30*OV]EHH,&Y#(&8,OUBNO4)50ZQ)X\@ (0K
M<T*7JL@4V^IV;%J*3Y'*OLI+VAG_.UE!2F==:RQAZ9@]FZ*73GRN+2V3H8>7
M"*GT?W2.O-@>JZ@(+VV,5X1*V>4IBFUUKPE]Z4Y--AA62K"^S 7^B[TJP5Z$
MI%4RHP6]W.Y?+)T='^<6"E^YO1%E([TJ@#(K#%."A ^7:/$,_74- [NQA]!R
MZQ(])ARAZ]LH"$ 8K!]Q<PG;[LB?Z=LHM! @"*(%(9T=HPUCR <,EC9TK]]H
M;01(3F_'WP0*I0D7(RI0>E1.36PU3-'%1[V3 [L78$I@Q,>?:_6@^Q+ OI6J
M%C-,4P4J#' '7XCZ^Z'MSV"B_#\",(V\.S@5.3QJ375?'=B[\)6X8)C4A1M"
M\C,AR/8=< ?L #S"V3P<3PDEC*)8C3/7W5^!)08.3([S9VU\W8A6ER/KOF6P
M;YT;A(G&%&!^0\A]A9Y',"S,L.R3NH^ D52$J%V+>7QP5*S%3!!@E9;I %8\
M @'(H+&'8SPLF,+9,5R+RLP.2Z7%ZQ6W5+-)!T:9L>!B]=W^$^%+>O>()#56
MJP<S"CF;"U?-@'$(UV^Z).BFR%8>IZS=BT')L@:ZKBAO/NF_J,SSV:5/YA2<
MZM$#+COZ"OTG^^X28L(#NU4M3,FD-53E372^BD[]DW6=(0+N!#AS'WEHMF)^
MJ/P)M\I6N@580R^SLZR2+OT"NXR"$"WH_6SQ!7_!'"[EPI*V,"+!45]04IKT
M"VF";1>0?>//(+Z-T05TD9"+J:*-$8F(^H*JH$J_J![(_L^O6.X*,$:$W>N+
MHD"%?M9?V:%-SZ%6V)HBE!$!Z@:VI4B'?@'0\[]1"'!2^5,@INK!8Y6VNNU+
M!YY<38K[\K(SF5I.I19-VHK];?6VNAVW1JJY\;?5Z=0GI7\@_)/5:LTP""1[
MI*8]F3+C^I(@GVK]BZEDA2FE!]1C'7>ZJ]>:D,>_=Z(ZW+FE=6@2PKYA\>-[
MU<U,F<I-95]-H6&95@G"F42<0N*T24>Z=W@]2EM(<[?R%]AD-<1X=2'%-Q1X
M=KK+WG7O+)NJ0.>,V)YUX1Z(7NZL:J1[']OC?&?T;4-)0H."@Y.:!0>[0H)=
M(<&ND& KD\J[0H)?3^;YS/GYR=G1R:Z0H, ._:KQ'B/7W=<@&!*Y?@?U(=UG
M%;:D/F07U?Q5HYK)MD8@W?3S%DQ&J2Q32@R+.F1#9>-ID2:!7*H:;7N4L8H^
M8Z(.\2.;$_N-'K-_>[1#0,\N^@[TXB,<M4,/)^5[I^,Q+#8(^97\W\)D( OG
M1NKAEND<<8(KH\LP6NX-62,QBL(Y4PQ),$ $;,:^7\KX_$T@?#+TKVAES*1;
M-S&X0?MRN8;)Y6+.7KLCR>2VBY_IVU"?S-H]MY<6ET3] B3(@2"$SF5\UZ^\
MI(X/:\J.MTH7<U5U?%+ZVLIFEE_1]D<"I_'^(1GBF^UHV;ALZ=YE0\CZAH<+
MX!-NBQ)U0FC=.QLER552,4B._7HZ!?1MF-3M+7N\H_ &$#)MCU[ 'Y&>5SG@
M-<)K]'FSJH=!=&^'U"=G#\0;MM_E4TBO)8)^!/W9F+C*\6D//O'/ ;N_2##+
M.^M==Y%&K56A,ZJ-646> +NLY?#3T0/9.1&S8\\:+Q;\ODSQ@SJ>#[56$CYG
MMF+!*!!"'WNA-T(1#+S,K*FU2JAVJ=MAZ%%SNF'0%BH0^6/,N!GPZ5TOZP*V
M%OHC[%&W,V*(^@CYLX7:\PUZ(5POH2U4)M^-;@_$$#W),\48!^4?,)S/D><2
M!I#O[9T4<7^F5)#J=%3$W#%&(1Y!&&%_@AXP>H$T6#G!$?BQ;*H/PNYT7]YG
M@CH(F3/,28/84J4$$GU<V#[1R"M(D*<5[V -<_WFS.DK-O32R8#Y2D%0\DJ[
MZE3W%7M]:T8'+#)FM;@"8,%RX@3M(.2[#FT[&UP?/INW4@A8LX4^YEJS<Q")
MWH?0%E7P=-/UX*IT;J0O6LTH8Q88\@G3^T9O_1\^WERG34#7X6&N$>JHX^%#
M:P?FK3P*?-K"5>B2F=5;LJX2I<>,GK@FB[XA$3/-\] KO>ZVQ8)4:Y3AM6VX
M2&YO3-M"U7N:VQA<D!GETDIWX ?LK\33 T&03JOV49B:XPRO?H:&@^NQ;0L5
MD#T?L?F3/V/IN/;Z)N]V>/4R,UPLY])6:!./5ZW3V#HTQ)1 ,9\?QM2&KY'R
M9^SB__JGT$_+I>";+JVX3ZWGSN_(R@[B5PTR#RO(#II+6PSYH#NG/+SPS8QJ
M\!JLSKWHWFLIN J#A>^,Y[X:4.#-58D<+_6^VZ[,S7S%\NG)V=&I&479JASF
M$J"'Z=\)GS+/RY?87OBNNY1(H"<)CPO8:F*I_29G:?Z[[AJ;*I;FL=7O<?(-
MQ%W%X=W*5GK/[2H2E744I89R2^O<8YKRWN0$X,5XFCSF*16OO*'NB=9:UG+R
M!HG'I_4(X^DC_<&[#AS;X^[P5!J84B%60R8J9)FZ,8N?9X-Q/3U;!(+URV43
MU'X/5WJZK+2'V[,V&%C!!@4K>;4L1!;:-/%VV[X>GUJ\6$W(L)*SPTHMMW+K
M6(M"_?Z.$$V*I/10JU)+ S:F#91528Y9,M^Y'/,[2OH^UF<SML3]RY9+>E_^
MSQWR9\SQRAE+\<5/<GC=N^D&JKGQ@.24]<7_ISG"81T!5#0P94_01 (5I.E?
M\78[]?>[4\_K'/^,<P6L*7.O@40%%!FS[7L*D?-SS,:F-<&/( @Q=,@6BWWX
M0<8(V$^<(@9&2NW-W^=R H\-8*V18'=)IVBL/S)$$M ]AHR5Q<9:HZ-U$WAC
M0TSKBNB6&,,7F^9F@PNRU_<=\#0'(*2G BFV%ZL4( G+T.7[8O4;<&=$68AV
MP9EO5^TA^QQ0A]]+$*=71LKVFCD0LS:5_8L_Y^_F.*'?A"?XR/<G!2"3MI0<
MY>/QVZ!M8GV.YW= 9^;D0YM)@4M.;P7FQ-&.W6[)];T<(&.V;EQU2<NWRYCK
M5_',0KI97:MV!15M].X)E C*75K>HU'9T@U%QF6EZBK?48B 3=E2U%8($4&&
M57NRTM0GX)$^9]^ 3V]F(MN+D;L@C*8EC93BBKU@G1Y,R0[6%F<M*@V3,;^Z
M7301!<"FW.A0?R(*"-JJK7VT6-AX-9YF8$>TIIC>/%E_9U]*Z];9V<>H6&B:
M:V4EZ!CRFA1?ZB.,:5T4RU%?K%*8!WM%_S9ZM;&K]MA4Z_ZU1/@HCK=$+]YH
M><!M$$0 ![%#&?\KV=&K-C9KK]^Y0N1CAFHLT6\!9)A6)BM5&QL4)*BGZ:HR
M-2O[/(!,\_OV<_/NRNY;SEP&Z!?]]6+IH17(>@[2V[0E\*9$/>II<^YXE9@X
M_9+:EE"Y8-?;J_G<1<9WD?&6D7$#35*;R'A7!D80&9^\HLD<10'9WTWF$(<
M^&S1I"B)0^4JK4RQ(A6Q<Q52AF#^*UD;5V,?Q.8MNZ"JBT*M#U/"IS4$HT:8
M_L6KTB**#&(I6J44@:O7L=[L27>LX;]HV-H9V=:,2E.^KB-[XR@,0C+'H#^[
MCR3[A1[&,64AZDDUNV?85N00U"G\1@##X-9_ (0NMR>]*PYB2K;)3*4K<LLT
MC:.>&8L#N%<1)C,CQI.1%&1S)M=O9%L+ R#4J@8=F9+MZDES&G#$-.UHJ?PW
M"$\!#"-","W.?UO"]1T\/2]1"N.:<F>ZF:N6 @/?F:JN)R'U7'OUVCCCF')?
MNYFJR&'8.U.]WT$0 C>>9\!AA\KIGX;:1Z@/;\KU\68JJCH?WYG^9BC\!X"S
M.>7""\#V#"2>S0.&PMM^!QO=E,ONS=1>939NF_(*HU0%[WOCVO2APQTC8<IE
M^YI4N6-N;IM&M_7=-2S2+7$RYKD ,]?NEMQ]9_J?V3!HT'3ET8UYE,!,G5;F
MXSO3WNI=A :E;HN4,2\@F*GK;=EKXA1XKF;'<^VMR".@PB9_3\[T1;9';W(Y
MDNG]T)@8\QY#C\H^-$_?F8:+C9N(!X<]:7@C3(QY3\),#6_$TW>FX;5-VM"*
MWR6"P\^'X9.)AK#:Q&G23=3UEI *_0 Z[+!M_\'RXGC#*_%6I2$EG#-1)[LQ
M7WE*!_!!2@,.KY7#YQQ[8IV):MGK)GDTFV$PLT,PR%+: I_AE7JK4I$M.+N5
MUTUP/K:X=N*XFVLGN#"6O;M_0LO]$Q5/)TVH!HRGMV1RO$"7>,N"U^L$<+_
M;1(2ZO6\=E5"YA\PG+-'1>@TG</E!%W[(5T">,<V&_5@P"G:2F45RJJ*N%]$
MBKFCK.<G)V='9V:<S.U+LER"^SH^>H_\Y*(#\?E0#I#ND[DM5'%S.I1#EOY-
M0[R8RU_<*<#\0G<[%"C7+Z[F-*:D^*[2A07]#&6 B92J?C=E<C(.[)2HY5!Y
M@W5Z<G9\8(:%UJI87*[HUS7>OOSQZ8?TGJ>*-KI]@2&F459;*MBA7\;;<CN4
MJ(IC=SO4[G8HHSB>7\L_D;7\V"P+U^)VJ(2<W;L)<M9NT[L)W64Y=G<(J26
M=G<(->5K/(%N?>)318P_[$K\R=SVUPF<>^2_L/Q8/V>"ZX^_NW.H(T:^EWQ]
M)>7]WE)4>_C=_47=\/&7T=^X/D&;_A:'?^>W* W&QU]&?]?'136J, >#W7U,
MG;'REU'DC0M5J!]GENG*#L'F[2)];K(":KO[G_KG\2\S)_)>F7D3HS9^NTNG
M!F+T+S-%\HZ?>5.D-GZ[FZT&8O0O,T4R-\J8-S_J(?>+WY4U$)>WZ>#%R'5A
MC-NM/T5XP5C6X*3%28N3%BD.5@:)W;&*W;.>[_P@1EV6I O+D0DF5X;V[HW/
MW1N?*D]<$NMQ=GQJ5LE,WW+F,D"_Z'=O?&[+&Y^[DR U3H(89C2WO*+?*(.\
M.Q:RG4IDO =@P+$08]R"W;&0]W\L9%<5O*L*WA:5*]]!MGM9U(@HNIAAAJ6*
M-GL[@%^@ _@$;PHJ&&W!!(6VE_U^B8+P'H7_!.$C<-#,A_\2/@?9XWCONUZW
M1\;]*BH9IW-O$%[_B<*)[BX<&HGW7:P[-#>-R3I2_#&8TQW7"[A#04#P].P@
M@%/HQ!>PW!#VCQPG6D2>36AGV=92J]I)R/.#PV(2,M>I1?Y,TXTE="RJ#I:=
M(F0ABI'EE%OKS$E*.7;K$VP9WV1IQWI=:'F"F>!&YU<<HZ7X(9\ZP9)(9T4;
ML_*(3828?TA92JP!EBR/ES2V)( U*,*HI(^Y59]/TCN02R8\=7QP<'AR=MRS
M":\;M.M&5EPR]8M/8=V01N1JM#<E.B?5V%S"1YTVHP1Y17D+W O@DQ]"=E'
MR/TS"D*JQ*K25.K$E(A%$Y$J$6B47+\1HJ@1OP?AI1W,;SST^AMP9^"![ #4
M!:O6BRD!@":25:/0*-%.R)XPB*^1K#]5I8U-V0PW$:24,*/D)_.YJW(9];O1
MF[EH2G9-TYK9KFQK*H(FY>;(<S>U0<*=9AG0%-/:A;1Y]!D6*)71=@&F"(-2
M>(>8E_%T8K^)BA;;]&B*^>U"^JT8T:V:""X,8^'1[C2@HSY-L=QM=* C5ABV
M6!0QK8P[QZ1>1I@ZH'&<O6+UZ'8(4RY^Z&(YZ98SQF0WGF+OY1$L$0[I\SN^
M>XE\!]#'^=AL6 .,@@"$M9,8AP?E),:Z0PLG0[+35$YNT R8S08VY?14@5N9
M\UT7J_5'Q7-2ZCWIS%M<1 &9%$&B!4IY"WX;L_(6+43*35_P:=9O,M;XR$MB
M\S FIBMD:IB31YZ4+>1_/EY_?')V_-G0M$0CF7#)Z\N_OG(E%_%F/IJ2(> J
MR\:=S2#<%\.>5N1?\"9F6@' E&"!G'$%I/MBWF@&/>+1B9E7 #!EKRUG7@%I
M8U94GKVNBGBJ-=5<GUV#/$$%MKI#LZ4!SG@O(@IKKS\:MC;5%FA"AV$QB&\(
MN:^0ZC&7^^EGPY:WVOQ/*=FBO3J<^2Q X8=Q]&'CK#78N!\UV;@3J!0'"S(D
MK"#!8K>+W^WB=[OXW2[^%]O%GY!M[LG[W<6OR=OMXG>[^-TN?K>+W^WB=[MX
MM6SV"_ C0/.H9!=#-A!.2)^UOHR"D&P:\/6;XT7TU"W=")/_7%G2ND%/AJUZ
MM56E$=&&!1.N( 9.."9^OTU)IZ<#1;.>#VK8ZEM;B'RJ#)/2-XR"X &C*0Q%
M49\LA"GU0XT#/UEB#!/%$_!(=[-OP"<:XXU\=^0N"'\#%GYY ==O]*2M,&RA
MV-B4JIW&1E213L-DNUD%TH(D48DG#]*8ET8:2HU+E&$BNB4N%0;!.KBZ5J1[
MY*,$]WL@6B+5FAKS($9#(:I1:9Q4$X5+G"GH1P37M48B?UTH&L,1/PH$UV]D
M,2$LA+Z-5XP;A$CJ<1-6>XQ?,1^$RM#CB,:\&-%8AWIDSO;D<M;^?7"Q^@;0
M#-O+.70>P0S6O\[^\.#@N&$19H*$];RR9ALT2"N*QRZ;TY[B (<9:LEO*:7D
MES1,F^H \6C*V9L*V'>5M:F@M2=[4B6H&-DL.MQL006L 5D;);7;R$%,RA;+
M(9_>.#.G!K,;V7#)ZU9< 7 ^SM#+OH,B8DY6L<36OZ0"6__ACQ]/!>ED/^A.
MZRAI%>5Y%FF=W/QV(> F_: [ZEF;FQ1IG=R\OQ-PDW[0'7ZLS4V*M$YN7HX$
MW*0?= <.:W.3(MU7'I*=)WO T'?@TO:\U76$R29:G):4P^L.Z2FS5H$6_0&#
M7?)RE[S<)2_-2UX:$[NY0_[L#KX -R[B[B2$4WZ14"V$0W'9\R@RR5%:@V,Y
M2;R)*L8U80<FPDV4@C[Y6&"L6EBG6:>["$\7$9XV MT%>W;!GH&#/8?T@LRS
M=QOL2<C;!7O>2[#'K UUVV!/)QOJ=Q,Z:QOLT1TZ>_A-P$WZ8>N"/11IG=R\
MO1=PDW[8FOA.%FF=W+S[;P$WZ0?=I52UN4F1[H>;0;C$,2OI3QGWB_SVQVTQ
M-K[YJ^XZ)F4.;C#6J8Q7UP)EI!]TE_/45D:*=%]1\1N$ 9SYEVPH""0'PT20
M@[/SO$TD7$2%_AAXS8U]*1K(CX(VZ$YOK+PM&_CQ\V91DRT-I=-2O?B21.F]
M'F4PW=N;/G2@3.7V1+T;!+5/&P6US8A5O^>ZP^_VGPBG.LP/1_. 3(U#-ZXT
MY!&I)]I)WV0>3W/X"*.=$EA#HLYB#4LX+Z%ABP60C\>>GIR=')@3;FXA%"Y=
M?6\#UAA4[P(*@":$F2NUJ;0)*!#16^61#RX]" 3OP/!!=+MB]1A:0G^8V_Y?
M415?2R FQ)S5^5I"OR]65O%1,Q,YH69U)G;,P4:6[I&^%"SP^C+?-#E[HEJD
M]LY>AC:-C.?J=>FK(7Y<255RO#1 C56XF7=>/IV<'9^;XY2I<)A+@!ZF?R=\
M6D0+(=L+WTUPQ3AZLMG^Y;'5'W?-A5P>8?#S8G4!?&>^L/%/R;6.U<TT+>:B
M"U6ZN=FQFFP3)9I@*+UOL+J9 1:BKM;*95<D\-W*+K^<GYECC_J4)Y=H_2)^
MLCV0',:_!_+'406PNFU<76W-):7X).F7R\AA"6>"FP/@"S4 5>_6"L!UQR[:
M2$=,E7X!<=:("1FNGI.2MM#DGX@N%^O-/TDI-E"$%+EZEBW;PFR'I*B<4CEE
MR7IG<MI&YZ.A[ QU.9((80ESJ86K;&6L&U+6UIS\JNC2=/ADJP]NB:Y<W%W-
MLSNM9;(<\BOVYY.SDU,SC%,?I[76Y.U.:YE[6JMAP>,/?N4R%T+W_E29RUSL
M];-[=UO'+W];QWU$E9'655,2*2G)<S>B"2AIH'L^MA6\C#;#;N;=W E]!^P
M/,+9/!Q/?P2 U48+1%?11G=%35OI59 W2"53HD%QJ0JO *<(H;L$IRG7N<08
M-DE*^^('LNLC?[!GX% P1^1-=!\F;3M%Y-09<YXBOK^:X/8TMS$8N2Z,T<B0
M6?M$Q6'YU<YX&(N,8[&!R)_2L2R8#M;F6(7H);*-CW%M8Y^(,$C(O; #Z(Q\
M]PIZ44CO=RJ?DVC4@XY$E!]"ER(!7X@E=2*B7)!>24ZOL )N?,758AF%C,D<
M.E;\#B1YDEY'-.,$1POUR>7'^N24_J6?CQVM-94&_ZN;&1#L&G!Z56M,EC?O
M5NRYX-/1X<G9J2'77ANJ"EQ^Z=>.Z\720RL GD+D_!PS3*3!)@F\[@!?787/
M2D]"EGX9C5YM[%940Q1@S"BV[\HNYVG3+Y $>^#2)83PP(Z9BVEI, N.7*Q2
MF =[1?_&J$A)\=T'S_8KE^%^AC+)8O.4.Q=Z[(4#.R5J.53>GAV=G)T<&V;_
M=2@6EROZ=>T1!"&&#EEDF8'[0<02/#[]D%KZBC:F6/L^IU'^$FHI.V0RUAGV
M'X@[9OM/[78"I?!AMP&6.U-R@UVS:1,2K^L!;FG>\-9W,,/-]@BC%LAG) :C
MD*P;SQ'+G4U0>;)EYJ) P;KHV)0%J0\EZY)/AJ5K6K)KM*"U+/VL6TG?IN1(
M^]2LCEAE3#;I"F#XPMZW#FYLB'^WO8BLSNE?;WWB[$1L2M3.*AV5LTJ9X<AO
M=$3KA0YIH:GE;KY9,!U5ZZU=&Y8$&<0O;.($.>!I#D!X1X=E!2\I0/(R"769
M+E:_ 7=&-. *!'#F,UC9Y5Y]#JAAT>)A+@E=B<'-R"X-IQ;9)4?,%?U6B8>;
M-  A:V!0+*I*<:OD8TYPJ4,)Y4,:)R=G)R=F!7JZD1J73/V"'#D.V<^X=]!^
MAA[S.JH.K@K 38G75&MFX<BJ@![]HN&Y2[2 2&+JY$W,2-KH,7=RSI@D["R)
MTB55WL0@LZ>BR'Q9\0A[=[(RW@!V*3]#S>#Z5DNRXY[38 WYE8:GI:90WL04
M<ZBBJUG9R:G2+ZCRDB\QAR)@LVZ7&M80BGABHFBE2ZH8W"#3)U=7N5S,,7@=
M22:_]I^:9^C:2XM+HGX!)GC25Q_6J*>F7&KEE%J:8NRJ]#3OI"@09H+DRI'T
M4BI!Z&QRV^C- BL1E/-(>C2/6YH)YB921KY+Z01!)IA1(TP@:&]*7K>VVM2@
MT9BT&25H/+W$P(5A[;S8\<%A,2]&^[/&4RON46O.*TO:C>U0WJ]D*2L)O(Y3
MC3D\9)?&<0#-RC)5"B)W>)%#CGZ;F,=*?K,8%]2@#8)8L\1R,&=CT%(2.6_Y
MY,2\&M_FTN&2IE]@C^ %>2_$%\KC7%&H*VUCBO,OT\5\H:V4'/TRXJW052Y_
M11N]+K\205D126S4EGKL/(J^VV_T-O\+A#%ZI?IH+\F7<%5#Q.(N3/';.Y&]
MF,Q!;ABI@])3]/PG(/M.-%HN,7JQO?'TCKKLQ<6URXY-J9!4EG67Q&O3@/0>
MC_'TVH,S2-:GY ;L2T3<#((><&\0)KLN@!?07Q=O;HBC1<*J6M'18*;<?-->
M4SIBB%':\\-_AIX'W$&UJ,6@IES-TX\VM6",$5HU\CPMBM7-N(/KUJ<A=*L;
MWABA7@D=ZX*!0=>LYF,.KE9G0RY9S?EBA$IE9L>06M7)L(,KUN>!UZLMU*WX
M6-2@>M7ID(/KU'E?.M4I6[3I4R.-T"W3PX.^A&J*6"[1"_!M/YP0G0DFI'DP
M1YZ[?BOS$?P50:I5\ VXEW,;SP"%QV1Y>Z3JI2K&EH,,+_:VL=B^.&'8 >@K
M\!RF!0+TOH#@:8F![8[]WVT,:="9("Z\NU:]^? :T%5$5IU&HV6;X'KK$^,"
M@I#B3,N#KFE-14!-TK5/ ..+>I7$7;-'4Q)E=55>K LU&="TSF;]9_K/,S$U
M?___4$L#!!0    ( "*.J%KUJ,4BAVX  $%H!@ 5    :6YO9"TR,#(U,#,S
M,5]L86(N>&UL[;W]<^RVD2CZ^U:]_P'7[U7EN&ID^]C))O;NYM;HX]BZT9&T
MDDY\\URO4A2)F6',(2<D1]+DKW_X(@D. 1#\;,SQK=J-CV:Z&]T]W8T&T&C\
MY_]\VT;H!:=9F,3_]<7[K[[Y N'83X(P7O_7%_M\=?:G+_[GG_^O?_O/_W%V
M]K_/'VY0D/C[+8YSY*?8RW& 7L-\@YZ2W<Z+T4><IF$4H?,T#-88H????$7^
MC_P/.CO[,Z-Q[F4$)XD1(_;M5^^++RX$N23^ ?WAZS]^_>TWW_Z!X/_PA_<_
MD'_<?RS@/A+65F$;8!3&O_Y _^>9C(>(B''VPUL6_M<7FSS?_?#UUZ^OKU^]
M?O=5DJX)_C?OO_[?'V\>_0W>>F=AG.5>[.,O.%8-X^TYC0J<[[XNR']1T*<?
MJ$9X__WWWW_-OB6@6?A#QD:Z27PO9TIO'0%I(>A?9P78&?WH[/VW9]^]_^HM
M"PJ^&FRUB$&^#?(200;^P]?\RR_^_&\(<1VG280?\ HQ\7[(#SO\7U]DX787
M47KLLTV*5^KAHS3]FN)_'>,U_>TI_]]3_M__.^7__Q8?WWC/./H"4<A/#]=:
M2;ZOT1)(7U><1O23&_*O&J_X+<=Q@(."6TK#H"PV!/LE*>&2=.+7B$;TITW2
MI@:R0J$9]K]:)R]?!SBD!OQ[^H\S^@\F./GC[Q<)<<KE<Y:GGI\7E)@,__6%
MXONO:_Q0L&5:9\I+_8(,^6>+G +B:S\AKK#+SR*N3HZ^2I.MD@DQ7*+X\N_1
M<Z3BLL9BBK-DG_JXTX\A<Z;3#Q^=V#>!H'$-QV>?'K_X\V41R[PX0%=Q'N8'
M=!VODG3+//,_OZZ(3OUS%ZQ(PS]YSY4729+I06&,H(WUPAYT<+.;AID1O95(
M\.@7AO'_ 9L("6?X.L?;S$Y*"=P94VF(8#"7$M8%DSEBQM)L*!9B:'K;&462
MG*1T^&8"<=R)E4^$HD$X_C6LH<LL'ALV_0[,D*O!];\TA8'X7?][[Z7$?*/#
M ]XEJ2KYT4+"_MH:QH]_^",P,!M0\J$WAQ(<<7@(T[C':9@$5W%P29)\@VA'
M<+!FH63ZV"AJ0& FH>!";Q <F$P& :+@(%- ZL592">@UEC1! 6>&C2L-Z:)
M(SBX*4/)B&'Z*.$! @;/4#Z$$;[=;Y]QJI"K"0)C$#I6"T,X_GYV U ST/CA
M15)(X1 'G/\'?\#KD"[YX_S6VZHF"#48Y ^O9KG^X]=A@ Q Q83.""I81('G
M-X3KV$]2$G38XN0Q)]/31;*/\_1PD01ZNVC!@C03*X'J5F-$ 3(B"YYT-E5#
M72"&C)(4"0*(4IC?T)Z\M^N 3'?A*N3[^2WSC18>TKA:A*B;E088R*",W.A,
MB2"A.A;8C+4, J*43/R'[L*\U\JJA(6T&P/S=9M1  +9BY83G:T(R$7Q#T1Q
MT%T,$&L$!Q?DGW?I4_(:MTDI0SI@)TW&E592@<':R#$?K19"$>B,1%' K(/-
MBW?I?9J\A+&OSW5TX [8B48$I;$<P<):C)*95K,I,YD"#\QV[I,L]Z+_-]P9
MLV0UL -VHV1?:34U2%B;4;#2:C$<!Q&DV;->&N.6*?8T%E+_&J@J0<%B690@
M?3=_34)C\,8OS:80"C/[#TOKD:+[31+K=\R:(# _L([5XD<^_G[V'UK-0./'
M9F"(P0&L/QZQOT^)N;W_]ODIS)6E)DT0F!]<QVKQ@Q]_/_L/KF:@\8.S[U"R
M0N^_???\)2JPYOS5GU*/UG8^'K;/B4J2H^]A?F\ED\6/7?MR]E]:,7KS9^8P
MB -!^/35F[\A'&'-+K@:#-:W52P?^[<, ^;C328:!E" H@(6:!?\8I^F.,[Y
M\1NU6K+2V*N*Q<S@D*F]681Z<J^&!4KO3<SH$GR!@THDQ+$@SD]R3"MGPQ=\
MZ>6>8,RPK:\&ASTQ,8EP?%2B@@4[(]$SHS\<*7%H,897F!+,F7MZX>5XG:0'
MXVFR! 5]\MY@N'GX7H( GK\?\6 Z@D]1 3N_"3QNO2@ZWV=AC#/];',$!6D"
M2H;K)E # 3(!!0\Z$V"@J("=WP2NMCA=DPGLQS1YS3<7R7;GQ?IHH(&&- FC
M '734(("F8B!%YVI%"B(XR"!!! V-CB*VDRE#@0:-!3L'L4,"0(J9#18T$8,
M"@GWXY.!M[0B)/%_?=QX1!%W^YS>Q*0+:7V.;40"7;98B'.T>#%@0"UA6EG2
M+F08)F*H"\21D80-8%\D&4Z]Z#H.\-M?L#Z^-.! K4C-])'AU(&@;$7%A=8\
M.#!BT(B SWJ"Q5=&'\+,]Z*_82_57R?0@P*=;+6P7IYR:>#F/_$R,M(\_1+[
M'QP>4030ZP45WQ_()Z9;E@U(V,L%&L:/[Q8<@8%=+5#RH;]9()L'0X"S#7X'
MQLXZ:K NV(>">;6%2(# -M+@I-5*Q"VEV>UD29@(&..1I\I@C[Z'L0<EDX4-
MU+Z<_7=7C-[XK4L81('&^W577O;,V-QG9VO/V_&?&$=Y5GQ2_=;B@[^S*B[*
MR]WJ0QA[L1\2:TWX!2A-'X]NJ/-;2!_1J/%TP9O5KKHSUDQ1[FXOKVX?KRX1
M^=?CW<WUY?*)_'&^O%G>7ERAQY^NKIX>';%$50<1'9 #UM7H&J*&@+484Z>0
M$FC\]B"#[.!&TR;$!.B /3385MK$#4A3D#8V3+9Q ]X#I#_WL!:]S#*<9RVS
MZ3$0G"6KV96MN X!8L$J%IJ)%@-"OQ1@$QON"TZ?$[/IVK']^ @^&W-&Q<Z&
ME>DV8*$M6,-\TY"/  'M6<F)QJP79=V-<_9M)T;!OL=P?H"U]PLOVRSC@/[G
MZI_[\,6+"&O9,K_PTO00QNN_>M%>EY1:XL+Y0R?A9/^P0@3QEPZ<-0V/(+&&
M8.P?$OH">3DJ*"!&8H&>DMS35\/.Y5BCR.O3?^ *'7B*\7UZ!SY[P#XF')&5
MQRW.U25[=BB $XZ%*+5YQP /,_VT,M2<A00*JG"(_ZQ(]HZ6492\TG;$:$4[
M':0X"'-TDV35G#7Q"H*ZK'&:&B!N*HD;XXDEL9ERQY.%WO'P:K^=SW^[B/QV
M&#A<W*=XYX7!U=L.QQDFL? NW^"TEG!H-&2%"1<\.@@FQQ +-)!08LU7PRP%
M)A*H;,IBR$@LY&8)'A8N-UQ$S%$S)F/"9/1KZ;!#JS^;5-^9U5[K*@]^=6>W
MJILE\6R?*"T89WPZ9;[W:;+#:7ZX)WSFQ#UIQKRC^X!D9M2ZM D%<G)H%Z4^
M*^CA@::#-H8409*C+!!#XKV;"[0%(HCS.$?;/O0 T9A,N)+)E$C.XC)WA"V/
MWMVZP5Z&'\+U)K];?2*3&W5GC?PM.'!.8R6,[#5&!!"WL>"H85PE#F)("\30
MSI+5&4'D.12PQ_21JA1BG^$S-KNXX"Y5PG=+[-&8*&E@ =W#Q'S-+52 ,.Z@
MYZ3I!O*2H8(&7S5TE\&%7.H2KS#A-*!]++?XR7L3$FAG!1,"G,VWBR$;OAX:
MQ/K;V&E6$PH$Q#%8Y\AB?7$+/@OT%R?DXN3>&\X<F 6NXYRP&3Y'N)3@ZLV/
M]O2NR(])$KR&D4X'=JAP_M)%--ES;/! ?,B>L8;Y5:CH:)$./J>,(I4+KM3B
M+BZXA,GL04V[Y8<NOI[66'?%&QPF<VWA]-R+V,G#&?I(?I<-^N[] M&',N?@
M_#'WTGP4WO^7%^^]](!F8;YULG7"."PBV5 ^9]P7-^Z5PN^$Z[?  ?>^6S:]
M7=C.,S+*-[E;%F1S[LD/X7,67[D)O><P"O,09\LX8'>J-TD4D%^![I/FAY:B
M0GMT.'_K*J+LD;:X(#[;C;EFA] *O=R\SP\NU2D.%?!Z>7Y]<_UT??6(EK>7
MZ/'I[N(O/]W=7%X]//X.7?WWI^NGOSGC?79%O"8$)SS,HIQ7#PWM1785L1*"
MD]6]G04J9(@J1. ZWZ+TZ=X[T+(GNW+#8V#X0D,U^ZH2PSHD:'&ABA5];9J
M=F:KI9\4.PX-;O3I'@=-]]6+JH,'-7VS$$?6KP:&<@ 3-RKKH?!(SJ,<<H->
MLA05;["><+7=1<D!XP<<>7D'C[# @_,,:Z%D#VE% O$42ZZ:'9H$'A*(3KI.
M7^$*%\J\R$M9;OCJK<72*A7R/N,8KT+H-?]%$K-T\.<PWUSLLSS9XK00\V#V
M,#M4P#M4'42K7:&RP(.Y067-6#.M%ZCH-:2=-P7RHG2ZPTP'9%9G#@/D+/;T
MO1SE&XPPK=5>(3ZJ$V<2X\GVC-=A'-/:L9DD;-V.'2!;62^0XA<<[Z&3CB=:
MKF"UX%1"PL4\ ^-RB%. @40T+1_-77(*6:PPYRVYM\@3[.40Y3W5)1)6&3/(
MVL,X":@)_^&;[[Y[S\R8?E*T1+RG#SPD\=WJ)HG73SC=WCU'X9J]17M\+&:/
M-K^!=Q6)6KLMSF2F'X@6<6R8GLK6^0.9 8H+'#N.3N>!B! X(X%ZBY**!/V"
MSX:T*>I7TWJ+RMT'REKL20I4=+="%/F,8B,)'6CZ&RC=#<ZR'\J]X[;?$BS4
M#952:9AGQS;LTI4*RV50&Y(KERILECYF# >N55BFDXU[%7.O<SK>J^@L5D2Q
MRD.:0P='FBLEZB7@A4O1P'JKT:V]1;O-1$=V#ZUWU%0'K6Y<N+46H7[K5CI@
M=>RZB"10ASLCQU@.71Q1"V2\/5)'<>,*B8HGJWLD-=^9_#*)Q=PP4+1Q[Y1H
MEL_5A:^N*VA;3*!%=#?!RG6T'1K<4KH+?\K5=)S$9Z>UHAXD<H7L]+IZD(S*
M16?9-\F5C'D$\Z69!;LY>S9X'P%RH=U^,;L=S[GE=LN%[38DEQ;=[9>@#>ON
MN>YU]UUZ=Q#N:/7M7$09*FD5-UU;B+>OP1Q9>K>LN:$7V^VK;'=6U<;EM#/+
M:/H289C3%)7>3Z!'X<3O<.SKC=:( 5DVTRI(O5I&"PY4)-/"CZ(VIL3@/89E
MG(ES>YL^PH,%\F4<Z*=".EXJ<_,:6;>+8XY=%>M\=TI&F/MFF,73(EVE4=S\
M K[B<I^*K2TFC*EQO1(2M!&NCO&CQK?'8%"-;M5\J+J^BLU&!LH[RX-/!?;\
M/^(T)-G1KA0CHQC_@7Z_^/[[/RV^^>8;E/&WDKU]ODG2\%\X6- =,(S"+*.5
MRZQ :8IWE/OF5N)]:..K#@TPV"Q*Q?)QZB3#@.5+32:4.47QT/8<WF!1;-J%
M[XP_$/[_?/7->[3S4O1"4?X#_?$/U!?4_O ?Z#OB+=]^+W\K.<=W[Q=__#U#
ME_V$%N?6.Z%PX-\O?O^GW^LI?2>8.*)TB7V\?<9I0>SWP)?2@H"]7.A%]UX8
M7,<7WBXD:S#-#Z2%!KR09A:@=AU-#0IS&<W$2_/N20F-*#BZCI% @.[6T5<,
MVG_]+(R1WR+&+$[P@',OC'%PY:6T^#Y;^OY^NV=7>B[Q*O1#W4K&!A'.->S%
MDKVD'0O$86S9:G:N%8BHP$02*A*XP&XT7#@L,,&O.!=\L]ZI9*8FZ>H&QUGX
M@GEE 'V YA;G=ZLG[TT75+I2 ;T.W4?@HTO274A 79WNSJ/J!F7I=[RU;HU.
M4=[RCI+ZDE6UT.-K0@]\D3:^_.*UD9K\]'T?U[;RSO$J2?%3BKULGQ[8]]:;
M-DI<ES;X#,*9]_H4B(YL^VDYL]H!Y-BH0.=+0^!3H[%D_%TAY+-*R+:ZTWFN
M*,HBF79%5(" %Q2U;-?N)S:@8*XG:MAHGD76[&/2_9'O.=LQ7K..!&-PSV\@
MY84,8J_DN\7[^I:%>FNCL4?!GN3TDPRX/7$S%%C'#+<F'KM9QI$IQ7[^<*#/
M@#7[S:X"3O02Z,M_V3G N=G::FK&?&J^CN,D\'*/+@6^8J$HVS]G81"RCBNP
MP>=C&"<I8?(Z)LMYG.FVA)I@<(%'Q[(<=HYA0(*.FHEF?R%F)0NTS/,T?-[G
MK#-=GK R1-JG(HDBNLM>4 '>U+$4BE;XRMR' MRYI2#Q2?ZD@:AFEG^%IZ3^
M&[0XR5C$79K3AZC'G ?TH>Q([M"?=:WSER3+.PY.A(.>V<F("CJ9C&8ZF=W-
M@D:4F1?)JO(G9TJZE=V\-;IJ1W.B^-LH4I>6\M!EX@:F6EO(S[[FZU)3WD6P
M1J$Y7VPXYU/UZK!'MFFS+,M9K$K*FDBNU!;JQ-&7&1YC.%!QJ&:IK?AP@3@>
MJA#!GU'N(96Z)''1++QRSXNN6;%6!V44"&YY3UV,-L_AT,YXC<R.M<=P) >]
MQ2B-SE-"LS1@[G%752UV4$$-RRU'40C4YBT2BC,NT^"IM<Q=N,V=1>$WG.^T
MBZ5S(!<+VN^]]"XE"^,<!^R,[AZG3$R-0JPPG2A[;Q-,4PFO0X,NCC?S9:Z7
M)[CH+D4<FY\.(X+/W0V\8&FPD,*[RKIZ]"Z,49!$D4=6?CLB)TOQOG3&Y2R7
M1D8,)US,9E%D (=V*<N%@^Q*[JV%>LOCYO*G(8YQ[:.%=L@]]*L>#:@;;F%<
M(=1F%Y?6.KW$J'N""ZN<AACM2QPSBD/^T+*X,<&[X1GM^;]JQEC,MZKIEG-U
M%*KN+,ZL:&K%AD(ZQJ)& 09X1XI354)H:U1E8/A2U28W+16KA9,X<.S=51#%
MBS]T^<']0[_FF/-4>Z!(U4,_LPG6.L_W-K=:^((-6?PN#EOM;MM?6]9"PX6K
M%@'D8*4!!0E51EZ:T][=[>75[>/5)2+_>KR[N;Y</EW1][O)?SY>W3X]HKL/
MZ.[^ZF'Y=$T V./>%W<?[Q^N?B)HUW^]0M>WY.\KZ%O#[%FK#^3W4[V2=?4F
M*CZ668;)_P7Z"X^]*$'>*^XM>/VB<6<R0#>/>_*IN*W+*"&J3J1[OJ^DAPJ"
MTU^!M+B@/+(.P#O[9:SUVI5X#[=EHM"#0RX"S2+4%X!J6*#%GXD9Q1HI$SWO
M"H39&I59+?HZ"5/UF_5+L8HWF8$;EEV&*?;SDD$FF$9H-2C@ZQ &UFM/0BC@
M8-Z!T#+2?"&!@:+*<!@P\'30G?^D;OC@?CN=!//<SL"L4OA''!.F(A)_EL$V
MC$,:>_+P!8MHI)'=%AGP=D4G\6JW)ZPP86Y'=&!-4?[ +S/0"<.KX97S![A/
M@0DXT]8"K\KG2UTAS&T2EW%!_["2'2KDIH.]:/4=B'8\H.T(6\84C_ERU+(;
MC<#^DKUV4!*8\M$E^W8 8\C)7UX:_N;2Z&LRRXS;I368S=K+B367]5H+^'J'
M)=\.]&ZIND 5FR1AO"<>*%+,),YXVYKR?32<7;V1&2Y)@S#VTL-UCK=9ITNT
MDXX(O0,^J2*;N^B3# >X$S^A/(J91&K;ACX4>YM\6%2-BT1WJ>H50WJ"7QL<
ML=$70!?ZVX(1F&I%QZI=FKR$&;WQ3/ZLO9CH0N@C\HHH?4X6 "MMSU0M-'3(
MT0K0#!<-4$!7U_"BLR7Z>*B 1^\$QL0GSQ9+QVZBW#OJ"(0OPC0-$!HQ90#(
MZS'';-9OPA3? EUZJ0_?[)>"\^-.H;U;0KCQVG2KR&2JR9(H#-A5 _HN'3=Y
M<*\=G?%9O)084#63#VABTX,.G,_W%EH.#9V)@$20GER: @VE5(\I3T!M9BR\
M<BSYA>S>42B-W>Q759/:1C/.>&.KITWF1:TSDX(-DYL<FTJSG=^C33L_$$<Q
M2"<2S'<16^".).0L3E&\)U#<^6LI<]&#P[E*FPBRU^A@0:8A,S.Z:#O3%=+6
M$_Y^W)<70SMZ"7#IR[&PYUX6^I:*$;#N.$B->9-W,$ G7$/BI-GVKWBUI?2,
M!6+PX--'%RG8=T[>H3Z6XC*,]KGV<J@6VAW[/Q+ Y $"U D?J/%BY04"PSD_
M,$LBOG72%W[&X7I#F%L2J;TUOMW3)OAWJ\9MOI8TJCL9.._I*[+L5EUI@/A;
M/R8;YEN008(.XH3H0T7-1CLN%2J/+;\GY&]>6@5.YFP%-25Y'6FX[[[:I+ 3
M :<=UY1^Z;PV47GM+/EEZP)L#+&KK'.6&Z8C1B&K'[,(0;ZX1>_8]7F-K"(!
MLNU!T9F*<\&H36"+<*0CX5) ,O,X-"3-DNRW[@>/(_HR^,<^HZ+3T_N XM(J
M;_H6XCYG=32NAJF.<LI+G;8 /%<+G.-G*XLG*ULO0%I@@C;$L17LJ"].&QI4
M>QP[OE0-96P?%)TGC1E+%(X*O+0PO?UZ3S](XF7,7XB]3XAP. ]3U@]!E#/=
M$P$S'OWHIRW/($\V&IR?3JQ V;<G&@HD'DPJ2_..<OO3S&)0=H[#P>OC(C$P
M8B,O4#7V#,\ZVU^?F5>OA=**5R<.R)/40JNC2.[G0!6C22L?DI2D1O'%/DUQ
M[!^>4J( $L*YHMA?$<O@1@ER0P9S,\8-5Y]MB.L_DG,1;J@H?0*<&!,5@R)I
M5!;UI'$;T2V9X='ZUL1K5HT6ZO(+=>62>JHH![ZN.RFE@ ?["R_;?(B2UY]P
ML,8_>F',"@I7Q/0>L!]Y61:N0M\K--0KQ'<?PLW WE=5MN&\*WWG@G@_ ?J$
M[DN<AB^L<4"&_GOO1>'JP)MI(39V-D,&.D:,'DEA%QOR%T9AC%9>6/3R)Q-4
M4&G),O=T(48[IQ3P&#T@O78]6>Z;^CJ;R Y/2ZOLTHV;2X.E]6O2U@JMG=TJ
M'_$=[-%'<7(+?JR7L4<>PK6M_1&?"+8.(B=^<W(>;?+'8E6ARMD8-4U,.N$8
M-$',.<48,UI,><?I?LFN1M9CBDL1Q.[9CLFU%=;OQ^' =)'2V:#278&.!H..
MCNZ:$_>=].]4#OJ4T*<,)]^<'3*5]W&Q4[B=63Z7<+<J-C;:&I&;40 ;MEJ(
M4FO3:H"':<[:RE"_5RPNEH\_H0\W=S\_@E^/IW*QSCD!#LX/GS(<7,=E ^2E
MGX<O81ZVML+O0PCTHGU/L8]NXW>D M7XHA>;RDOOE!(J2*'G WI'J9$P^Z74
MB[RBZ-)5E]'TP'2PHJ& /]E1M0#W2A+ )6G5:63VE#Q@ZA)AA&N=#9Z2<3Q_
MFJ'@8L.4JI.CQQ3C@,27Z031E(BSH6B&6@Z&CIORD"_KD>K\@%B@NHYAXU3K
MX1^0-DE.G);:]-7]N=CJE/SE4\WNI#G P0!XB<DBP _9H1_Y=X3%Z=]R2_?]
M_L4^U_P"=JB SYIT$*WVS(D%'LRS)]:,->]22*CTC%\@LQ6=C [],,HX$O)7
M$&S$FF>A*MI;X("NN<F"V^15.F# Q:F1_=JR5 D)LR UL-)\/(,"GSU3:"2#
MSW-*T^84W42ACXD*47P)''A[JI,,_, HZRK)3//E"J<IS2/\HDDUKY6Y(!^&
M^B>_6M$@YTD[D>ISI!D':'ZT84HQ<W"T6F=U7J7LO2&!"SXQ#A/-G2;/A*4P
MIF$@YCO-Q*/I/1 B&'T/&5]B_E_Z<H5>%_840-VJJZ!''F:+#N5LW?A3&2>E
M@&02[,83JZM@V.A=0>?+!7NY#]X-!PI=W&+R3<+,]>Q C6EI97SA[4(R!;<_
M_VU- /1Q@HYB'KU78(D-]81!)_94C2>YHQ44ZAL_@H@[NSZ#!>:URQDM7I9V
M8[(,BX>;BMN%\#LS35&7OI_LXSQ[P#X.7^@1K;665*@N^:1>-+,W-O$<\4,=
M8W8>6&"C"AW\MN\ &4MQTG9Q@'SK/L4[+PR*A%F\HU)<7UZR &&M&#MB+OE?
M%_'-'FE#R1$?M6?5SFL%/52NNHJ'@JI[_IRH@[X\0!>%V,4[LTS<A-]/8'<W
M<S'!NN;S3+3J.*B;CZN17?)IDW@M.:X"TQ&?U;-FF=LRNY2.-EUUR Z"<IG<
M]+%BZK_W#G3:IV<YOI_NB3:J1+MSPF$FYI(/=A'?+M,U47+$1^U9U?MLM?%3
MRX<%27YNR8DBB2IX[=2HRBBEWDE2>T)J5UYU/Y:7[8V1]??/8;ZYV&=YLL5I
M(>K!6FLM5%QR<2N!S;YM).&(4UOP:.7-88P*4NB5T$(%L47IR ?G-IGZ"%^N
M E+\@N.]>YYZM=U%R0'C!QRQ]*3'A&PBX9*/MHMJ=E ]OB/>V<:@77)<4$&"
MS'Q3:P^?["QRD2]D7L1NKRS0J[<6R]54"/S,.],YYZN"=W;P*S*)+AE($]<E
M[S0(UYH3'R,ZXH]:SJSW?YFI\E($0< Y#^PD)+M=5FX,.5"(8'_-0:.0+@1.
MX0J/RN?LL1V_LF.XJM,HTWZW+Z[JJ JV@2OIIA&YDZ"0[GD=O^!LC!MW1D+.
MN:N%V!9N:Z#BDONVLMGUQEU)\+1NW'77P_&-N[ 4W)D+)R11$)=VEOX_]V&*
MB=0D^.0'6DB5+^/@BGRZHR :974A .?'W<64_=<>&\1ON[+7/#(4!.C],T$"
M%318"6#.<L62#/CYS&")BTHJMFT;A/D^/9T)=G#4.HT)==A$ZO@$.M[$Z6;^
MVTUDEO^*+%\Y23KIFA_"V(O]$7)?(R'G7-5"; N7-5!QR75;V>SJPB7!T\I]
MN^OA./==E8*[D_NFB8]QD'T@_+&+>G<[>H4@NWK#J1]FVF?#+?  ,UU;H6H)
M;AL23%YKQY6B H[C<<-CF$B@HA(7>/MV'-FP@*;="MD%391P,K".]8!W(D&_
M6]TD\?H)I]M+_*R;%O7@<&[4)H+L/3I8$*<Q,].PIPJ<-M2C"(AB((H"OLSK
M*(M8%5)GB CT64X%29ZC<.TYX!3V,^O@J?DTLL9AV:+C6>)XV:&;"[QN(AO.
M=%1Y(:RC7JU6V,_O5E=O/KN=]D#"U%U,E4#_G^XLO7@19A=M2 8<^B2(T2^6
M<5#_0(+4Z':2D>!<?T+%R3%B@F% @LED<C1<D(]$Y\5B+$0'0TG,@Q'=W&7_
MD$@M6%U@&.^I:XKC3-,<.D_:#*$S7.@LI3KSQ8U5>FF\T!W[!ZY( O>\'J*-
M>YR&2= L+A'/#\AZYQK2_%!S,P'8F1M$W;5FW[-R -,_'$!$Y9;60A$HJX&K
M<'K\60V!,Z1NJU&]85*/U9PSZ+;F+OP,M[RS(U==^'F&X2GT?[)!<O28=WHA
M;-J(-&U4V3&_OXJ-6SU3:4<9&!8(T]+7%>*LS2'^8^ZEN4,*>,;K,([I--.N
MAGFZ<NYWNXB]6>!%E&_Z9L%UO$K2+7\!L^4E"5MLP+Z=W02L-?*T0X7I[-F%
MMV9_3 F;AR6*CR0"+AV.CBAK$&9^E&2T[HAZH%^<EI*$IJ0'W_&H:&YX[X6Z
MP] &%.A5%A7#1Y=69!"HZRE-'G1W-(HK)R'T@:4=U\R%6?L18L4.M;DLZ_%O
MZ*JA*!_4B*H#!GQ8V,A^[2EA)23,X\$&5II-,\H;#PQZ@0IXZ$?-NPA1M_[J
M$D=$<<$O,?+W^*CSDA6TULN/H""CN9+A>C2O@0!%<P4/BFC.H5@D7]"M';')
M(PJ1PW^QAL?%6Y*JMS[ X[^-G,?QWX4W(*7'T%BES2:) B(M73[E!_L7ZDRX
M3CQ5URZ<YLTZ/2+TXW5MG/5[Q>[QZ>[B+S_=W5Q>/3S^#EW]]Z?KI[\Y8J)<
M2-J4/XGI1+-\"W592@N. R9I$D9IBBH$6!/4<Z1XZD'@((Z$*BRRAB5X^O7K
M/&4-=5$NDZT7ZEX]T< "EA:8F*\5!Z@ 88[W]9PT#YN/+ ;]PL&!38;PLTUB
M%H0_XNTS3C6B*N! 7TI6,WWT/G(=".I59!47JK>!"9RH9/Z%@T*W_N[#._3C
MDD%(M]6\B.:PU[%(O8V6W8(#^=RCA3#U=QL-"$ /,+9RI'C[K\!A*ZDSVKZL
M:(KOAE^,*Q5T'7_NT0<VKKR4'A5E1E?1 4/6\)O8KU?PJR"!ZO?UK"BJ]SDP
M*J"!C7\BYN>9'GQ_O]VSOF.L@R]-QE*\H0_$O&"^^VV>*NSQ :>-KD+6IA!;
M9)CII!MWJGYT!;YH2UVCP!_H=662F4%66&]\HN5=^_3 \D:>0QJ]SP /YVVM
M0LC>I04&\:86;IJ/1 IXMQ8IPZ0 OB]&[(OVN4TB0G5=;+\;G<", G@GS$*4
MVBTP SS,O:]6AII5JC64\FS'%<_H)]'9A4(D!UYSSN[V>99[,3U2TVWI-N&
MWW!6,=UXOED&@GNYN<F%^M'F;($D2 ?*2FVY/_?(GSY&7HY(.L3*0]^157C&
MT+]THD"TIRA5H:>-0#-MQ/UCG^5% R_U?@F3EKTV+;]0_4!K6+,PQX\X?0E]
MS*\4/& _6<>,RE^]:*]KQ3S]L)#;@?.HM+ZC..V80)N2<PBEV $LAT5Y@HXV
M!%&U(;A ;'3Q$+L\/JWZ%QP@P4)QT4AB GKA"J/>1R<?KV=<76?9'@>7^Y2$
M:"X3$Z1+/Z(>=""K WH*7:\8Z$@$J(J@%Y?-T^'.77[F<>:QY'N49"I;&@'O
M/VEDXTG8",YI).2<=UJ(;>&>!BHN^6<KFY8&/,,*PKZ5TFBRWN[I%@$-10)A
M4?54FV_-U#<VS?K;@B<1U7U!!K5\]5):NWNW^I"D*\R['O>([79DG0MBG55B
MFW'8T'0IP'5D6N,2G"[BA,5*8X$8[=H%9 [-Z"\0O;M/0H<T!OREOFF4]%?1
MQ)A(FU;*X.G;/@9_T\H8'\>/&UWH.A<XNBO%.ADZM=#1E>M.L:/80C[]X#%8
M3:W1PYT$1#R+2V5/HM!O[X)N0@"MC&D1XZ@41@,-5?MB9$=Q%WV[]=(#M:_'
M<!V'J]"GKWQ4=%!!B+_\0:QQ2Y88T+=XT[47A_]B6W<7)'<G+ ;LCW,O"[.[
MU3W1*[U>SS[:9V&,L^P29WX:LO2=/_9\I*@G_):?$W9_U:AVXC$![Q3/H<S:
MU>0I!X2YX3R]1,V+TM*8K$=C->H"L7&I4\LCDX_%V$@:O'BSO>'OOU .$&,!
MND@!0K^G&1D?L(_#%_KD9]OLJX2$K-'6,EXOT&Z  55G:_A0E5A2@\E0A>)$
MGI81K[AE[Z<'N&*M;1:T10;/WRS%4^1R+9B0>9T5:WH+I'&J0)?,T:5(/XZ@
MKKC:CTD2O(911*2Y)M-3O X)2\LLPWEV6?9]:HG3'6G .5XO867_ZT0 Q U[
M<-@PTH(&\\:*"N)D3L!>VZ:(KD0<MUCCE-&-@KLVVQ99S4:+*D(NS24S2 [=
MRDFT8K.>3(P8#C3LLYLH#."PC?RL)P&YJ9]S-M06X,TH3EF1,7B;X%VQH[;P
M5!D23!"V.!H9)!6T>]Q@$N>Q=7S5@\.Y19L(LDOH8$'<P<Q,6^=()PRGWC6R
M]8RA#0G:B-K$:9J2#@/0H,PL-<R*(\FM&#F>2YEN+\%&]9<P3@+J!'_XYKOO
MWC-'H)_\O7BL\:YZ?%$30=O!YS=^6Q&HV;?!SFKP=LPT37WTQS+MS:(]_>R$
MZ8ZQM"2C'= F,Z$@\??;XORLO]9U=^G9/<H\)'EIU>R>M855/L[ZU;2QM(N[
MV,O(/(>]ERNA+QS;%QE)3+=>TZ7-'$)^D6P9!_RIPC6.Z;FL==;>D09L2\/.
MPAZW.[0F -8*L2.'RE:#@@9_TE*F<@+FVK9,Z$K$<8,U+B.Z47#79-M"J]%F
M'9M(YA,<UEDK(>Y6]2O(K&/619+E675)N7@3HF6R&4H4SIG'48?LW,,H@CC[
M&"QKBN'%1;3C1_KXEY_@KXI8BWXNB]XVF0VF>@(.859(+X]0DW3;)4P\-WQ"
MFO+N5K4&%T@01HQRT0B#$2]?"W)IFIQ&/Z<1,Q0-*6^3W";#;4$#S6FM1#K*
M8HTX4'FK!5.JA$WJ$"J.ZM[13J%?(HKODNN-(F($W@3U$:]I3'C NR2ER7';
M8T5:<, KE2TBU&Y*:F!A+D :F6F&90Z.T@*>O[M+%43+61W8,3L6R'[?P0K3
M'1.SW&&P0'/"\.R7U(4-EJB.[A\,E]!=+RMZV=_CE.5V;;YE@ =\;:E-B-J+
M2SI@F%>7S-PT>VL)>'H)G:\H7/*4KM*(K*R4!7CC *?A"W%*FH*1R7-?[!C^
MA(,UG5'+IRVM3VP&403<,!BNB-IF07]R,!L%0_EM;A*4%*'WQKJ+UKHQ-HCD
M21FY>4ML +U3,?/6S;"2)))HLJ1'4)4>"'8TVYM4+=#5GF%,-_=2'(3Y!\\/
MH_87A<TH@)6>%J+4ZCP-\#!5GJT,->M:" J]Z,^1H&>2Y[S+)*&!AHS_1@'J
MH5T)"A2U#;PH(L]S[FR<[2*(2Z8ONGD<]>HX\/]M\P1;9#C'Z":>["=VF"!N
MTX4UQ1,5HDU-A;[@;54.Z!?Q7W<<:QQ1Y5XUT&=S4B<=.R<SHT">R;6+4C^/
MT\,#G<6U,:0XI*JU?'+6;7J(=I^&L1_N(LP\ID8 UF4^922U+%L]:00^!H)S
M"S6[LB/4(4!,7\5"PR(($"T#*<$<MG=K>9*5*UW#+N2#DX<P^Y5G@_1?>J?6
M8X#. VV"'$T#.G"H6<#,CVH2J# 0!5R(5%[\X:R;#)6U7+,P0:$?J?4"O(SY
M&[Q%%ZJJ"177O48/EKB0C]=V$*[^D*T%(M"CMM:<*9Z&I=W3Z,XK?S!9T73,
M8:\;(KES[=4>\ N.:7/^\NTONU6,!1YD(TQ+H>IM,5N0@)ID6G'5,#2!)S]7
MY[!+C2@EK#M]2%(<KN.+?9KBF/"?>G'F^?SB>!RP/R->6F/G9@/HP;G?8"7(
M;MF;&(B[#N2V8>""'BH((IDBFT%EFNXZ^#QZB1S8WI#.4^U<W(3@0@6"C9/J
MH8&K!RS-24)P>)8<()9<\@"=<&:8V.'FDDS=4;*C'+&+K]O=GBC@,5GEKUZ*
M[4]O!]"#3% '*J&>N/8D!I30#N)6D0)R>@LD45R(:]"<*"JH.GK:/+9*Q-O/
MX;_HLU"<)KW/)N@XTBO3;G+4@SO0(]-B8M3!PO;&M)L]J@Z2#L^)O66"/B\0
M2]</Q+0N6)=^/_\YS#<7^RPG'*:==F&LB8!OR7045[$_8TD!<K.F$XMV.S>7
M>(7)2H=>4.;?NN>)HPA_+">LC][B5ZE2)4UB\D\?LR2Z2UE5=S)P?MI79-E3
MN]( \=5^3#:?\,:OM?>L:H0<GC='$I\>8\1Y="A>(=6J@EYK1W_#.5H&R2['
M ?AA?2- L=<(2-Y]$WK/K.#YR>8QIUZ40 _W^PI^=.C?E0Q4,4 _/E4'YXP2
M>B6D4$&+/1K(/V=DI;]+\@O16$1Z*HK]QYU8,)Z6'OT-#O81J\L)BJD\=6$J
M+Q(+D5><'Y9I2CAGP:G+58&.5" W<'L)7-_5[40":*NW!X^M:><"/1^01.FH
M#:UC_CN.#F3?#>-5DFYYD9#WG.QSVA> Q[5(! 1Z2>[=L8\#/Y]=B% 6F&>T
M4TUVDWCLF.E#&'NQ3W(3^[<:!U$$;.,Q7!&U]A[]R<&T_1C*K]$Y"IH+UJJ)
M_(?19;-\2=GI^7Y:]7A%B5/J2(E3LT1K&47)*Y$1?TA27@!)6V]9Y?M]B<$_
MYMI/?-7CKMTH@3[VVH=5FZ*]!2KIL3;\HHR6DG3/WT=51MW5V7WS \D7D%?3
MA\_U0=N^06^T5]&N>(?0?M)78+@PJ6L%44_:#7#@25G#C]'4RC<DG?.N87+Y
M&YJI9]2#?"]-#ZP/UY:Z*_UV+2BZXD$D-0AS?!.^X,9SH%:S9R]*+GA<9\'5
MGFA-!MA#._)IM'!.ZXP14[Q[Z[ _CZD%6LWAQ8??D76"_\]]2-?,8:4+C^N"
M->"3BC>"LG@C<Z)XHQ H,:GFPSZG3:>VM*G@O]@6PM4;[=>,.T6(<8: #QUC
MJDH54\:@#QILQA-@0!1:(#X2DH="8BQW0]1,NL/BAFU ,Y-*/5BHA^;[C5CF
M1J"Z6UVM5MC/R\[53][; Y&$UE;$M*T1DZ1CZM*')'P@&J(*=3+3G1YP5M.7
M8:-SE$21](XTI8OJA-V-(A,I)JV+3S[Y]-7C5RC+O7Q///Z 4JHD?IQ:)D>X
MU&9.U$@A7 DDG^*4%V21Q(PHZ!S'>!7FV4,211^2E.1F0<<PTIV@"T&DKQK4
M(:0K->  TH]=O9?<$9^02++041!%E"H29%T.'F,KA88.*OI*B$[^SC=8BA%[
M664T3#P7*J/K)Y)^)'[(LA62E& B_+".;)KG=ROYZT]&BQSKH>3P.A;G*5[T
M2$(?KX8RAHH)Z ,]Y3N%DLH'?\<D#O<L\/A2&#TK*1\LC^@H90XO>508HU4Q
M$INM^5!0;PK/K* [*P65(Z%J*'=B]&D9%G#784R6J[BNHK+F[2-)55/;2M!>
ME ![%/<7O-:ZN#L9F([&??EL=GMEE!92I&#$%G+%9T'0G9@POAYD[X]QCG:\
M*2=Z\:*],B04E6.':?.QGW&XWI#T;_E"AE^30+?UPK@0E3[;3FM<:%D</62C
MZ]Q.V=APZN"YV%@*4F1B0TF[D(>-(X/175[%$,CC8Y!94@PB7"6GP[#E3" &
M8GLA#B1A,VBG& *),5 Y"(^TZ*G43C$0VW!S-P-SV:2F",8W2;RF8MT]1^&:
MMW61ZI!;HVTG=*!PVD/$,EYVP(4+B)V9;';YV]!=W.=]Y*7,YD3Y/#TNB@CQ
M,VJ1**G(0P6WX9)2"F>4!))HN'EG8"2)Y="3)SE9T"E_TDDR/?HNLWBSF?&J
MC+U-(*B\2\=NE3X=0P!F06I6]#\_^:$B>F!#IIF,O9>=[$!]V5J VLO?W#OU
M+CE78R3Q]#ACCCT\_O#XZ2/>/N/T2%9+'- &1^W"'#4QTB- -2IJXTC5C$CQ
M?#QZ1_"R+]$O'!=Z"V \P:85A"2RSPFX*+/X_CWA\-;;XN5;J'L1H0X"Y]DJ
M5F5'EK\'\=LF \VW,<A?B,*@7R@4<. O&+Y,Z(JM1:H""-X ZNRJ3(!#@!J!
MS(+)##C<,$/0Y*M7_]R'^8&.E2GG<AT04+ZJ9;?,5QL0</FJAA5%S!>[TQFK
M)9"O-^]PFHN-DCQ!G"#:48I0.:RM4()7!@B=6_1F?.H5XDT8X^L<;X^G51.@
M RO%!MO*U6()Y<:*\8@=]3N)(04@Z\;BN*@Z$A;ZH7>A_&@?\!-CCVXA1?@K
M]+0A\!4,[>:YSV@!4%)L+M'5Z"Y)&7R]@T%5$L3*#0,6[-&6V6A&&Y40QMAH
M"7W(,45;+SX@VB*04L_Y-A;AP8$U;9N*C]:U3.,,'G8GO+<$O'6.>PE[M;=/
MZ])PG#%+NTBR_$.2/FZ(=9Y[Q#KOO0/KYEKUX\CHU5N?0=^M*L!C*MDYBZ,=
M2TIGY<6%:E0 Y:L+66=D!+@&=G9)FQ&"4CEC9) 8L-ZKAQ*D#7Q8?N_,SKN3
MJI2V\=G^[=DS4ZLOT2Q*N5P)N&K)Y2EF*=H2=(R>_0F[$ J'JD4=U_I2!0Y2
MP]@V%NS+T4<FOD"US&6!BA%<CD!3Z:D()^(XJ&P4XE0,>3Z6^V@W>1D'JOWE
M(=%EY"&=B3N3J-(0D48=SX58-8% 1N_D4>Q9$<4:JRW]$NQT0MPLZMUOMUYZ
MX%<?2W7Q,+B/ YRRG02_O,9$]QA=B8=+W]]O]Q'=(F&O6E)5I7A#M%5>"K7N
MD#:8J@M1;9!"M*T3NY.$;Y_8EV=C$B71%4_ UB@75ZG?4>)?SAY=+ Z>)U81
M;0Q%Z"0Q.[+@315+A25,87Y-8;31&HO4*?8C+\O"5>B+-P&IB5OA0Y>_R-?%
MB5YY$PO"_"->T^7O4W)!Q$FB,*!2M$6A_N0@BV:&J:!>3]./%E"IS1!F58\2
M''4>$+VFF"L(DG1K7R;J7@[C@E;<B@DLP#Z&ZYB%MS@OOX_7[$A!TDTV+%R,
M,I([D61$Q9F"S C#.!%_1I.C.<-SK,5Q<QAZ\YA-RXQ^S26STXM4D^NO=KQ+
M+Q3PG":KAJ2'R#2%+.\9N[+4DI[)NGHCFHV]J'AS(UOF9-GXO*=Z2(H7D^E-
MG33$V?GA1YRL4V^W"?UEBCW[9=@$([JP1)M,D>KEV^C# 2_M)I+'N*8I'J]C
MX:T8M7Q,)T/5N#3FE6]\%T/3,[UJ<$1'=R\6PFI8O,-!-;6N-)7B-?B[Z V]
M9&K%Q &]G<0Z&O+\5%:'%U&%=-V'&G] A^+?Z&HTAK_11G,C^HTLSJ#@1W=O
MV$5"WJ.T:$Q:BWD$@0U^ F%O3M6RNX<14YOHI.QR_+OR4EING-WCLMR#!'IZ
M 3QB$T+';J3=J+D0N7HI0-.#M LIZ/:CW7DU;J(7]- ]?>*>4EP@1E.T1F!4
MW=X\'U4E+!!D&:WH1QE7QW.ICH!3="4&7.(T?/%XR]4L3UF-=78=EPVX6/-Y
M7A=]GV3L$>@/7IC^E?;6L8\-(XWB0LP856'J6#+*$, Q9D09C+&G&@=) Y%_
M5PWQ*%C5)Z\8;8'H>(@-Z'(6,XLB2<1:46V4+;."2JVAI-;R0@2]OA#&HI @
M#FA9)BW6E/8&G[V(/<*4;;!#7=B5VOS1"V-Z-*K1*D[9%A\19F# ZS..LR&O
MO](Z!+WN@[@8]OI*H7@=5A7L%H@. %6C,#24C::<VD,1K'L["VMB[\[?IRF.
M_4/9S;EX1Y9>NZ+;]?Q9B0SY7K9!JRAY180<?1 KB74AKFH=*G49G*C9S"7.
M_#3<\6.-\WT6QCBCBUA1['6WDDXYQ#-[))^])[SZ(=:WIQF%+- UQ1%54EYJ
M'('FK!%H7*85 :>D3$V\H,T6,E*9H40?50.@*_%<"X<OQINPR4V6YE(Z0/ZJ
M4@'RQ]_+ %/;Z&EVNFB!G=_<K9BG-FP$G-4P+3AI6%MM>W&RAAAM1L(/=F5>
ME/TP6F"!C*2-^=)(=(#S&XF9$WWA0MU:QNB;T<M>EEGH*=MI''\)8Q%-]@H3
MJ+Z9_3<_'KKYT#$!@.XD8<WH>#:78?^K=?+R-9M!TP,W._%'977B@[^3\>L<
MRU_,;VU-MJBE59_.:F7'PS9^N$^WUT]7E^CQ:?ET]0AD8>U,TC?U KZ3-<46
M2DMH>Z 7?C7YD?0=3&!K,%?$M?*+V</:T<C-PE?Z/5ABPT;7SE2U;P%_4?5<
M)7T%\ZN:FSKQWQ4L!?D8QN%VO]7^MD??P_RZ2B:+W[?VY>R_L&+TQF\L8%Q(
M2CJP"V"+WIO9%NO? ]FBBLG2%N4OY[?%YNC-'Y?#.&&+]NP"][9,Z?XL;PJ7
M+^. MG[;T87D^>&)#&OJ=VJ#"=@%TUZP6FO,=C28?IFV?*E[W_.2M:?:H]IN
M]%;5R46E,C=<M<%TT/Z:@EG97X7FEOT=\]5LXBHP%ZS=4\[VO$OL!:+X4^:(
M78[#DU7^ZJ7X$K_@*&'\&9N[&^ !CZ?;A*@=,^N 88Z+S=PTMSP%/)(0H"?_
MOK)<>+LP]R+V#F-6R!54R+"><1T3+_9QECW@#!-CW- 20$LOL<2%\YA.PLG>
M8X4(XDD=.&M8XG6,!#(JL'F]JGM.-E#,G1 SE<4<R^<FJ5>X,35+'HWT2=8M
M-%0S4NW"#7P+YU$%^#]-GUTH+FG[4885F%0E)3=N])=V65GJ:AS8?$O*!B]$
M/1[M'+O<$D<*_\7\YQZG81)H)L8.^'!Y5V<AY=S+&ADD_^K(G7$U4!!@79,7
M2*:!.!'@+&RHL#6)=F:)9O&^(H!<)-MG,@_R=H1^0J('$?$Z(/,C"2-T[N$7
M))?^/_=AB@-Z=5*\H$T""/F.S.K!!:NOS3GD/9D*O3"XXOV:"3SKP\&_TR@7
MB!>XJ "J?#G"@# "$JT )6T$@W+REICAS7@X.TCFIVB057#$KVA7/"'!U ()
MMLI+VX(S)%ACB+R_#X< #JDN_2*%JD27>9XFB1:%0JOB3C>_$< G*X^RQ*]=
MD0\SZ)M.10L/<=OA*?7BC/:\3N+BGL4YIE<BGKPWS4_2B0)<^.PAJ!ST.J"#
MA*K._#7,N6Q:4UQ\D6C(%X86Z)E10H341-'@>RYOC-=T%6R*!^.)C=_\#2O+
M>;<FF-F7[$8V]'+G0T@+^M@9Y76<BT-*%I0^97BUCV["U?$MG6ZH@/[80;2:
M(UK@P7B@-6--&V2HXBRZ0N93[@)Q?$0) $^_ V0L=A,"N@]&Q8D(+-U]"$M"
MT$_9ZDYRR;_Y_4)\@[T,/X3K37ZW(A(SR7F D9HI7]+-0I]W%"2H\BJNZQGR
MF",[>.(_OF*M*@;&&]:MBH.QY6JK6%C42Q;87X(!Q#A C(6S9'5&F"BBF<@>
MY$;J,B>,BLP+<,B#TS;=*X*-B)=XA4EB%8C&6'RSZCKV::LK?(GY?S5ZL\2%
MBTJ=A)/CBA4B2&3HP)GBK(#C%MW>%F(/%17XZ%U!X4M@EQPBYBW.Z0D:%[7H
M.2D:D[BPQ7HD6_F?8H_CO9U.5'C.N)I>*(.;-9%<<#$=5Q;N5715K'#!5]-]
MA2M$2=M%F<6)GO!VEZ1>>N#O=:LV"2(^$0?_V&<YZ\BA44D_4G"N-D1TV?OZ
MT %QR/Z,-LRX)(4XK052[XEQ>D@B".ZY(VJAE#6OL.2];<]"[%F\7)0J9"0^
MX?"%;OK_F"99)K;U-8IJ0X+S7#MQ9!\U8X!XHPU+S7-N@80JK&J9&$7)*UM1
MTL<2+LCD%.:([NN61U? R6@OB1D(*N5.2UQ@CRJ43>+'9;)_SE?[J"E?BX-U
MHP'H;WV$K;E?%P(PWMB=0SOG!/-*^QEQ%-EK8OI<S)9SH5%^5+X2O8HGE_!<
M--WT<H3I#+]J6P2/*-YC[J7YC (^XW48TZ;-%F(.*&0W<7T>1H3 NDK"5#6A
M'0D %:7W$K,L/>^$#5=@WH--514? 6=/8=;"22#HT1<N>81]YA2E#+M\ O,X
M3X J[AY%(34U%%2J;$C0D=97D!7:XTO<_)GA#SY?PHSV@6Z*J#\5,:" 'C6V
MBG)T1JB%ASK<:V'(+D.3<K*REN\=W:=+,R^"WL#O(V00A'PGPM]XZ9K?I!&5
M=Z>P:/HY#7-\MUKI'*HS%=<73@V!NR^=2A(.+YZ.>!R\?&+TDM7J1-9/;>*S
M[\^(/!GR6%U=7F5!X*5U]")?O*Z$D47F/PK]3?1[J?HBJ>&400OSQE+,4=W>
M4+)097WC\-V2%=XD'J]]X94S-VR7P7P" 5\,.)%F"J%]Q5&$E#:[\D;(CTD2
MO)*D7M4TOQ7:A?<ZE *H7]VH@0*_G:'@Q?C(0P$_84/Y#O93<'.C:5U@@(.S
M&2W3LK4T@$#L1,-%\RRFM(H;\#OAO7FG$\=QX3CPKD+!FS[Z%U<T6I1@0P#>
M(^S%5+E*.S:H#]FRIS70EE(*Z7H1^,)GL,PGEKWH[W0H7P'J0\"%',=63'7:
MTX8-G G9L6=,CHQWD*9\@V>4ZW#9^>&C]P^RZ(B\+#/T9NU$P<7+<5I![>[(
M-= =NRJGX:_;C3GVB#8C@Q@=)_JY&F2N)+[UMN;>KIVI.&G#)H$M[5A%PC5;
MUO/8T9X7-6NFQ,9I#*NK8!!=$QKRJ+I96F% U2A8"5(5)1C! :L0+/AJ%C-O
MPDSTC*/O3L9!QK89O:(C2'7M5G2I "LIZ"-=V=A$D:G MN"<0B;H*TFL\2<.
MGK"_B9,H61_894=U/+#&@KR.9"50_3*2$07H*I(%3XJ+2 (+56C\GBZXZXPE
M6%ZB 3<K)"O]9(O3!RQN46S"G=EIC!B #0G;!:FU(-2#PS0=;.-'<0>&8Z :
MRDS^\8+3YZ2ELV!_B5(9!?B:7NH%>.NEO]*.I^P/FMJ:/:0%!_#BG8TPM1MV
M)@28JW3M'#73S!*'G4&P/]D*Q9G99 2I<OIG3+& "S6]G%:+&AWD" :P%%/%
M;*WV4@: *;9L<M#L><)A7+'F#BP#KQJ\W'OVLI9PWH "7!6H&:ZM NH@,%F_
MBH=F,BR@7,OLK9C_B(/08^V=:</, @<XET^VNSV1KWB^YFAE;\[J[7 !\_LN
MPM4R?1M$F)S?GC-%XR6.BPKD16-+QA6'&B2FU$N]6CP7E*;86)9&5#P#1?M=
MZ;>8[7&!-IN["E=N.]LBPFU =^-0X4]1A/WB%0J_\*Y=FJQ3;\M3;+8L)>87
MD&B/\HV7TZ]?PH V9\KR=._SRQ]Y@KR* NV?#+5M/50GDO,IGVNC%*"CS-B"
MNA)E?D[27]D366NB+L.Q5E]*SD8@D^ =XI&*C,O12<_O;+%JP4[?\)NWW;'N
M)OL<Q4F.HG ;YNPRVP)YNUT4^N*U#S[>PMG@UD6E5J'N#%&2M!5?0?1$HE]/
M331C(5&!)+VSU2HW+?7J=JA.UJ4T1+,L1KD!+72W9ZQK&95#%?$#A'2Y2-X@
M%NL1U5T; LU)_ZJ)9.E;#,<UOY*8ZES*Q7#=]2:3:+QMV867I@?:P.*O7K2'
MO\6K$T3JO6W1@K\/(2=]K$5L2Z_34''-#XUL=O9,N27]#!WH.[QR,Y8&.DLX
M8!ENQ[1-IU)57CXF=:#E^O@**I?PXY&&6]:/+8/1&;RR2=?*[O86>]3-$X$#
MO]$7H.F46#T/+9Y^HSGGNKP$%WG^KQ1LMSED9*D?H6S_3(MS?<R?>O8H 2(U
M>QP':F=S<L5WB<.6'9@AMPBFU]= '4!G8K=8URRV#<G)#$L2QS*;(ABN94XE
M2YV]DV!.[&U)[D4]TR&]6/3ACU-9N4B9F>C=]H#I;9\ I_2N9T9FCK]A3U=N
M, IE)SVOJV)L%SN69%WSX6Y\=Y^&Y>?'!7WZ;(D8@5\:IF,@.@AX3?1TBJ)K
MFU,*%K?X+7]ZQ=$+_IC$^:;')J(5T5,)$3IU](\.QQ1/(#"H6>[Z$BDEYA]O
M'BR8_Z.[>.+724>/ 98Z(=[X[Z?D_O37>'I-1E%12>M4G/U(^/X^+@B=@&O7
M.!UIEF<>38B>F$>;54'\ZH\GY\ADY.Y/?+=0.REGEA4PT)TIJ5-QZ(K745V:
MDCU%IS:H@WC9GT[-K3\0M8ZF'$[LE)Q:%G^83U-*)^+2%:MC>C2E>H(.;5 &
M<:_OYSV0+)8U,J]/&YQB;Y6K*X/[TW+NL-%.>(NC13,A%P\2;3@VO><C>Z5X
MBX(WV9GT7) -Y?.J8?0LO[I+7[$6S(NQ<48;_> TW+(1O3C>$^K\\:L,O6YP
M7'Y??$@K45.\(Z(1@O20$Q$U1^S!FMTN33Q_L^#/$M%CK2Q'S^*%K6R#Z=O:
MY$/W#BY[_=#]]D(JLF!1>0IE6(@USVLK$M-WJ^/)1C,]M2$!OJ5B)4[MZ10C
M!LQ+*18LJ<)H%3Q),+4OS)TKJ1DNUACO$VF2F>O83[;XR7O#RBZ]&AB@Y$/'
M;)E4' / )0MJ3HR=<\.8S/E;_HOS[CIDKB13<\A(H9S2@IH2+<7A8(C!N='J
MMV1\N<\W21KF!T-77QTP7%PWLR_'<S4D2!PWL6(P&52".]%HMRF%L:.N'MPE
MZ]'WR-7!.F)!QJZW:AL:H[/M\/8UA+$L#_T+NMA+#^8F-FI8P%8V)N9K#6U4
M@#!M;?2<-)O;"-ACPW&C)4<723Y]]?@56N$ IUXT<99XH[FV:8"#SQ8;3*LR
MQAN0VY<M7+2D6#?@%RN'\#^%J5ZM5O3>_0LN>7KP<OR J;6$4<@KI?,/W%<>
M20*_)Y0/->!S'.-5F(M=9I6\$PP"Y"23J:OTL-%'@%O4321*L_$>)IP3/M9L
M71@4TY0(\+0-.Z=,UX0H)52+G@]TUX.L&'<IIM^(A>.[B+Z'!+5RG$MGY3A(
MR@8I-JJ/A98Y$J.A<K@&SCLQYI?%*1ED=)U+A85:J@V'\C3BW7.A#R^7[(_:
M'FQ^K=8-[?D7QOLP7M_MB$BLCXI:;<]9GGJ^[E[):-3A<OB1%21G_2.1!EDG
MC,I[[V"T0"+4HU\*BO!-P>=0#9G7?H#*_AYY7Z;W__YM-<_V#;MJ6@[G<B;A
M.Z5L*D)N9V9ZC@W^*\V%+-%*Z\E$)GI\$:+TX%M0=3G7ZJ6%EI3J4=)"1=7U
ME*F#)B0!WVWU3XL"9CQ'HA%/P<LXN"$<1-+BO%/$MR7I6F[3317M"8T=/8>R
MF"X,#TA=&&%6#L1(2_ X*Q,;X$W4"13$Q9;FA1CSA@]B]2162NX'"?(A3^K6
MF'R(,]$>8( FM13=#A$MBN@:(33DG T01GX'Q ?Z147X4#[=/5-LZ+W2&:(=
M*C-F5#.Y"4Q2+IG<#PL_AE$>BE]H@-[J9-P. "J1NWJ]3,-95V\R.<"_?[R^
M>;H^I8G>0OH?H^29I3)E$>%-\GI&TX&@T,<[)O>P1<" W8N?PWRS22):#4Z^
M'[Z#H:?G\"Y&FQ(Z[63HB+F]FV'FNO^.QFM%E\&<QJY&;VVT[&Q(=!G,Z>QN
M=-3(S_6?'2JZ/>!\G\9/R3UMA)_1]"O=XT^[ODK0DG,XMK6HH%-HT]!R.[(9
MF39<H[+/7/@(]*2\' /10="GG<M!KIMBK&.<01NN![EN&JD$W96"YE30O5[0
M(?=$^>*O.BXC07CKQ<0]+D,B&VW!B 7,U9N_(9SB'[TPSMA65)8U=FO'(@IU
M<W0L=5172(=2!+Q+.@[K+95#Y?X#%C30FA)A>[81(P-VQ7(B^3\T-EQH LLI
MHZ DC<[:50/:"A96/=D@_4R<(EYBO&5W40FO6:[>J!I*S.'TT"A^I^102<GM
MU-# <DLHS#=8]O]GG+]B'%<7U,TU;\3HR\OR1DCQ3%> G@^L)I-UB65CZXLX
MCQ;DF:Z"D]^6]\LZ'-F+O3Q/P^=]7E2 !DQ1_$X^AGO<<.S?U#[%YU11019Z
MFW(2;5S6?V3WCQ;$]%.#*":T//2&[.VVDW;[",)6-5V/)=KH.GM48<?X@ A1
MY$+'</(@T&%C!H45:F![P8$$#Y7?D:]2[&4$Y%-<M:0AH**&7;DL'HFPPWF?
MM5HZY8"M5-W.!RW95W6AR6@3I!B7?8J(#.PYEO)<A'5D8*%A+]%FWXMT#VSU
M/*5JK+<-BP'(/Y \!$,H!G$]W>JKI0N^)@YCO7&@=\O'"_3'WW]S O6B7)QK
MDGV2\)\R!?#N-/2!"U[5'T7)*^W/-6"&ZC2*V^E:#X5US=PZ#.%L$M=9A@'Y
M7.62Q6C\7C_ODU<.B,H13ZL.;;@J*P6]E,KP"ASW8]3CALS4YR16!Q?)ENZ[
ML$^OWGR<957 'EZXUG$<M^-4+Z5U+HGO,HBSL:J'% .+8Z^*[</BLO$",2;.
MGBD7Z-X[L&?MEVE*'9?^^Y36H^/IDZ;B69[XOPK%^!(]]^/6'6VF6GX4KUES
MC.%ARDS6[:ADHY*N0<A$T]F8T\[T@!##B".).F\4<UII3P\-,107XX+J"G4G
MU:@)N.;K)C'[M0]PR'_U[ UO @#\'.:( A>;:+!>:+=_W H-YU\6.[TMH"">
MTVTK#6COD+>IOXH#DTMTD^1<=+ _0Q_)C[Q!W[U?(..;CR,*\IA[:3Z%*/_+
MB_=>>D!MLD!Z=+&+FSW@;!_1NWH?B!_=$[VD]TP[M (^R4+3C#L.:>=B12_5
M6 263G1=BD(]&+</68OJ5*0DS\MVV "(C\!ODA1C "_E)U13J0OZEHG/'IW/
MT8$^-L0N%K4J #*D7.+)0DI'TLZ%E%ZJL0@IG>BZ%%)Z,-XEI!3DP4/*]UQ#
M,5Z3U+Y/WC2&HDIMT*"R8RHXD9!2%/7=534Z.%,WF1U$R;F 82.X5<JA)^-2
M.&CGLUM"P:FA)*YUV %N3#J^#DI!/=]/]]/4G[4D.^KX)"KD+E@"XQ^>4B_.
M(FW9TNA# -6D3:2JLCIM9/IP=6J3"&*XYAH66750S(3&*J2TGC04UWI\,3+*
MJZ&ARMGFT: VQE9KMG(D*=6B8Y6UPL5H2!H.+-F:47<?CJTFQ5M"=I^R4VG8
M;.L&9QG&-US:S$_#'15$]9B9%09<]F0AB)PE&<!!LJ%6?AI6Q3$6B.'0=4Z)
MY<;;86J);C0/H%ACN69A#8':K>P&Y*F43CQULK8;\&=4ALDFCN;(=,4P@=>_
M7(:2)\;2$TZW=RMZF&AHMV^#".T]-F(U'<B$!>A#[6QIW>C(Y!:(8M/\M,!W
MPI%Z"4A306^=8I;<9(@,M9UB,5I=4+Y;/=!_1%>9[T7*NA ;!*"%HI48Y;+/
M" VWB+-@J^6"><JP$*[0H)93PV7A6$A"@[S',\5O,X4_WR3QFD686LQ1OOAH
M 0_DS39"E,YL H;SY7:N%/<!PPQM&81\%Y"83I30!@YL:BLGO(C2@_+N'M)1
M%#X]'TW:T$]=#A'H3/6C3.+7CYLDS;LX=@L"D&=;B5&ZMA$:SK<MV.K@W!FE
MYI1W]Y&/X;CKW[U%FL##!R]MZS*8#V\UL' +6"/S\II5"0BR3#5PTK8)LG#D
MA+2+"$^T1INEJT5O*?=V<FY"[SF,POP@[J=E#YB^LQ[@]&[U(:0I]M^PIWOB
M? A!MW9^NJFA;4?(CIHS.T5=V+7?02JI+HJ[CQGMU2LHTPF;TT:4./CMI='U
M E]>;272Y1[?XK?\Z15'+_AC$N<;\TE('W*.N[I!!9T=74'+73?7,MO+R?,$
M/6/BZF&P8"Z-[F+HR7ID+1 /^_?3<&FJ_Z?79*!:2BKN._"1P'W\5I!PVEUK
M/ Z<B@DY[J>$X(GXJ5E\XBU_/"'W)&.:2UHZT3D1%Y6%[NVDE(C[;EIQ.9JC
M4I*GD2E;*(%XSY].QUT_$%6.H!!.YC2<51:YKZ]2&LZ[:L7D6)Y**9[0G&I0
M '&:[R<Y7C6Q]Y2<8[J0>-K@%'NK7'/BVI4$U"%L/U&K<]EN^(!'M7T8-=3&
M1XS>[S*TCX,P\^G'.$#)<Q2N>;\[>FF,G2.@G>BN13\Y.F-  ?'*O!SU*W3U
MYD?[ &>\U7JX90\">'&\]R+$K]]GZ'6#X_+[XD/16Y8_,<#;]XMKL+3]/ZLO
M8L_$AK$7^R&E)FZPH8#V"7E'M!A1MKS=+DT\?_,EV*GS*#]4UTV!BB#H ?4H
MLG_[S7??,+O)VX5R*I<9.%N<0NXR)&=Q.E<9*T<![DPT4%Q^JE8+^PY62)<"
M?9+F+MXND4]P?92CI^6H5[8);^VB.D+N^:N9TU[.*Y-$G";B1,%; XRMBA_*
M&](N58:4$ED5!4C0KE2'- 30UX>4H Y4B!SQTEXC4B( 3W'=Q& S&OB^7C>>
M;W&.1/$=:T".^8+-8P]Q<-30K?*NGW&XWI!(M"2Z\-:8G^7+=TG>6RG&AHPK
M;F\OLCX>M--P(%#8,MD>00I*2)!")2U1A/EDNC\$48/66_8"\<P3HG+W976:
M:2GUNS!&6W8J#OSRB5'J2Y%HT!ZG]\9NW-W)..K-!I&MO5E!PSUOUC+9PYL+
M6JQSKRO]]T>2ON'/1?;M0//>2_R<7\=9GK(=9%,[!R4DG L:&)>]3 $&XDA:
M/II%^?X&!_N(Y6W5#1R*CRH"F1NM&^I2W;2T;-!"NV)%#0'TEG0#VIK!R(NB
MEU_-=ESJP]!-$.E"6GG6!+R4N4\RPO N2MA^9]$7J%RD\=X_^3(.;HDQ\C\T
MJNA%"<YS!@@N>U4/,B >UYO/YIWI&B54ML>::XNDS25'E!3'&3UDE9P5G?&^
M@R3SVXEOHU:Y!U0S? R)06?)BH06G][SR>XJ7E2'D&9XH#H%&R'*H@03,%P%
M0CM7AG*#$IG8"L>NF93'+ID^BU;ZV0;CG)WK0QWB]Y"UDK# 07<6,]P,I_*#
MA"E^KBD\F^W-EI?:S5ZMAP7RZ#;F2V_6 <)YLIDCS:&P5Y4.J5(X^D6^P8B,
M2^8!*+_M)1E+2?FE\-D<5G?(T5\*Y:\R275A,XKP.'_O'>AZ=LFJO:+C\[R.
MN%#UA!V%JPH)+1$!*P@[<:B;RW<<6-3T10>4O."4>7XNNIK1?XM9H^H-!E:-
M-TQHU52^$/4!2)! !0W0RKMA<C;G^U)*NQ^\_*&!JX7"7(C_@#.<OFA+\IIP
M@%4^.J9K%3S'0##5.6HNFN_;97FXI?4MJ,*8:W5L<\VFLQA1)<:DB]VB0H>>
M2-2ZFA;#JYS? @EH.K46IYQ'6S'@)E!+UA1[MU7_7!$NP^(%!WIZA%(<\9.U
M/)'\!6C&["ME^2@%1:SU#)Y+)/,,.5@N]E,%DEQ1NUSS3'I)EO&W1]>TX_R2
M/PJRS"^\-#V0#_]*2XATD= .%W!R[")<;<*T08291.TY4R2DY3STB/,\$F_=
MN]&_:23!LE(P-UH[??#"E+&>7>(T?/'HN[V9>/;SD6Y5WM!A">?GAPJ@:)W\
M1!@[/_R$@S51 (D[X3KVVEY=F') .$^>7HVR^T\W&DC,F%J<YCLF9$#$1T32
MD M4O'?+1D7%L OT?)#@RM;FB([M2J%#*46IS9O6<@<C#F31@X4P]=(' P)0
M 40K1XI46K+$RD3=*H<832Q8?WG,$__7.Y;JWA-NS1T\=<!P'F)F7W8--22(
M3YA8:5:946"4I.A3'.:(8R&*YD@ZV$F8RS#%9+JH[I?[209]]_".7D!^Q.QB
M^8\X)IQ%RSA8!MLP#K,\90[;TMBV"P7 6NCN@M;*H.W182J@N_+7+'ZF%) @
ML4"""+ND7B?CB.L-EU@@\_X-=1'%H@S8.8L:V[O5X\9+\;F7X> BV5+66$:Z
M3%,B#W^8YOQ0P8A+T,M7+PU,B[ 1Z0-.@F,KJ39OCD4<9JH=EWMC#3C#/GNF
MZ$@> \F#T!64#"@&0FPD-Y90?#*_C@/\AH.GY#K+]B027?US'^8'_K_+MU"W
MEK)%AKP2U$6\^D4@&TR@ZS_VK"DN_3 S%=CT?(+C_RY#'!?]0K$=-DNZ_W"9
MT MW/?0C([MIEDWQ;,VRPG3.+(]9LS;+PBH78MN)$QEFG;K:Q=?D:9/L,Y(?
M/6W"-,<X9NL=NM+1OW=C@P55SV@M4%79V(H"6.-HR5O#MAZJ=V^NXU62;OE,
MG>(UF89I1IRQ9?>.((%5.?:5[=MOWG^'^+8!VR=PX=&;L80!*RJ91XJ10M4K
M,>S#78QYG)1S4?O 94?#@3#615AE4+,AX$:(L^?4%/!X:4H5]'8XS46K C+'
M$LMZ7Z1]M57,O2.Q<( 2F&P.1\;Q1',G3LX@TSP[46W[![KM@YN6T\<Q" /N
M/8VFEMJFTV"J,+M-([&M>/^O?6NI96?IQIFST^FTQ$(%7S9"[UOWE5%P?[?/
MLYR$3S(IW^X5Z=J$XYQ@+&E3VBBA13?(:44:LQ2:P'-N#CSG1> Y;P:>1>&/
MY!_5F O$1YTV$O&NXU>QL?_F7)KD7])S I5"T!FZXO\HKD?3KF$9'=C0-6Q$
M+3WF7IJ?A)[.\3J,8Q!533>UC:JDTY[Z?B2 >78=WS.[G$C1QX.<[J2G5M>8
M,UY]A).<[E0B3#K7\0'1=8SXD&3"PSFZ6Z$/2;K"8;Y/#9454Z_19]6J(E0Q
M/*(\F[A]$B%+^E&7<7#UM@M3?CMWXBAF,>[I!C9KI8X9ZUH'/<GP9RG5I!%1
MXH&5FTE<5&$2O!L_E*8545*0PL'7C,SG%"^OWG#JAQFM=9IT=T,QSNG&0ZW2
MQHQ_C4%.,MYII)@TODECSK.[,4."9ZO'1O22M?'YA*V_XHQVE69Q'?LYK6BB
M'\VU5VL__.D&N:XJ'C/VV8Y]DB&QFW"31DK.2I$$,F;04\(^!M@DGGQ/;Z#F
M%9FA2H$Y5^#G$VPE_1SU\Q=S"[Y/0U][KV.NT4\WU'94\$1G:*:A3S+0=I)M
MOO.VQCL>!3>(L?-Y'<3U4'R+?FIG4(J3NB")(B_-:"W=YWIJ-[%2GY7'>EWT
MZL:TIKU&5E]3X7)':(K9;60F')[D)E%WI[EN5 [<G/(F$+'7S)=UW(S!M1,X
MT"EPC-V:.7Z&MI!=_!F<:'@>NG\/L!89R)/#P7N.'V/6T\'3"^W32PQ_JO@9
MA'Z GZEM)E"?3WYV,X)TD@$0^ZU'/]THWU'!$YUV?G:1NY-L\YV,@D;BR??Z
MARG=,O<N#U4_NUC;?E0"$(*',G6ZD7F<GV/>(]K/+HZ/(;(CQ[F?=^R?Y(=J
MFQ+:CH+=G"*>V[7\W/E X@%O>1>#HBOUWHOHTVK?FG[ON3D!G@Q@%-^8 >9E
M R[L0\@)>*1<<H8DUA#ES8T-%B=^C@Y:JYV/TFA^P"26GW@ UR^1=)I\/]%O
MVHN3TPW@ Q0_9@#OP<9)!O#><@+NQ7S& 7R\GZ-+ #_>L?D< GCG=<[<<7U,
M!D\WW(__,XTY"XS'W4E.#F.+[^H&SV<\H4S^$W:99]JV@9R9=\8I1;TFXH=Q
M%OJF1R\G'.]TM_1;E3A1F7]]L)/<B&^19KY]EW+TEO?#3J5XI:MBE^MURF[R
M'VO"M29(XRQ7ZCJ983.D,>#I)L'M:IQH:^-HM)-,4MO$F6^C8M:(9W=0.*=>
M#0%/HN5 P)OT]+34PBS9WP!^3C<['/PCS%OKH6'F)+/+@=(ZL@&@C50GGZ2.
M_?L88KIA,3]!C,_27(KOY*\JMI,__OX4YO3UO&LBXDL8[+U(\?:; 6[^6-C*
M-(U16J!98T<+%PV;8;"T$T0%/=W+;%WMXN<PWSS@B%\[V(2[I^0JSL/\H'R6
MK1<%1VS)3E"ME9G1X>W/AC_%ZS(5 HU5'&72I]END_AJNXN2 \;Z!XT40$ O
M%FG9+9\D:D# O3FD8:79FR:)S[  Y/>OXMHG 7ON.TDSJ'>#.@B""D G7@4:
MYQ>H?H 371SR1X.NXRQ/F<5F[,GKIXT7B[2,R/_"TJ5I.J]U'_\$%W]]E3S*
M8J_KX*>UN.LGW?C/_RR*%]TD5A!_[CXGS%1+O9*?S^&%CI&T7W5@>R# :<@6
M9/RMH4]QF!.M?1)DD)?3YD 4E#ZR1T]=3[L+$(@&JP<^;/1XXA/8M*]==![^
M<YR^)GPAH^/8G]GDU>%5C3GF+O'F1CAQ,_G)[Y.-H_?VF"N>X?A<(RO?1@6+
MK,?#?XZ15:WB>2)K?>S/++*JA .,K.)$8NK(.L,S'>-HOCVV<C*?:V@M6_^
M15<%!Y]C@-4J>IX8VQC^,PNS&OD (VW)T6\BV-KJOSW>-IJ1?:ZAM]QP.;I=
MP)+Y2_)3?O#"=)+"J%%9^QR#=?>?9N8=]%:^/K/PWE5P-_;=&_=^&+N(\HLH
MPW,45+FR+]_WAROPSHPZK+\L_=O=NY]9R[_A_7WW)NW._'V.,W?/'PGB".&W
M-H?WDMZA0P@WYG-G#BNFGFI^4V<:[LTFG?G['&>3GC\2Q+');VTVZ26]0P<O
MO_G99)P?T'8V^4V<XM!'(]R;2;HQ]SE.(WU^GEF/A:PX^\PFD.ZBPQ\F469_
M\Q/'"#^<[:SAV%E4<8_D$:<OH8_5*B[W IDVLZ<D]R+Y^XLDRV^3_&\X?\!^
MLH[#?V'=H?^$X\&%^<F5*$?NR08#"<832]-PT_(>EQBP=L5=IBF=NO# 2J(D
M&[@>ENG0!#)'9'!4C0Y^HWUNO=:4XE.EI/36)[^<3F^="55F[%P^X6&774E+
MJT-[_J7'F"%(.3I@2J=5J:<=*?EJA<P+XB,*IVOD-#<3GV%,-:I[ED"KY.#S
MBKX&$6U#<C,'5H5D=3 ^U(+Q0NR/H%62(HDAX'36">67::LGTE9^\(P2\B=Z
MW83^AD3S9FAW(R0O?7^_W;-IAF7T5#$IWA!FPQ=\'1/&\4V294^T 9;F1^A&
M BX<]A%5#F9=\$%"47<&FUUS*A)BQ5LC@C@5]([2^1+]PDA-T1REGP5?XE48
MX^ <Q^0?^3V1+%L&_]AG.5VQ*IM8]"7BA!5W$%=CQQ84H"W9FD6C+0LJ2)!!
MC ZJ"*%E3C+HYWW.7A(@^?8]F4G(Q\"M*D;5QSWU83+_W(3><QC1_:T*T1D7
M_M$+8QI<;G%^X66;#U'R^A,.UIC_'K8^;$?%"2?N(K#&BVU(0+NQ/8]&/Z9D
MQ.Q#4EF<D^R54$.4'&+T%NYZ[@ 55+N?M*3ODN27+R27)%FM,W[[E)) Q'M4
M=9]RC<A.>*F%>!KG-&!"^V0K:T97)(LCLO A*\9]2NS7/YSD;-I=!0VQ)1(N
M3JBFE< -R22N<[P][C?9GXP3SMI)Y!XKO)(&M -W8'+H2H^20XS>Q-YKL3$_
MD@;J\H9"WHC*"^N])J'.\8H$H ?L1UZ6A:O0YVTA24YQMWKRWC0:&T01SJ='
M4(3LW@/(@7CZ8'X;)M_JZ OTS BC!F66;M/LDU 'GK^GTHM?TPL-!(4VTJ8V
M8JZ-W'L;F(5KVJ^R;>KQ(L%(-(&:NXZEC+(7[%""<*UCQ^&\V?J:G<M[JYP6
M.7EO[%A98_S(*[/<C+I HG">VFP*U9QV4E6UYTSGQDAZ!QE)IU=/JU',$5H'
M9V+'LG\@(<DB^^1KPYP?(K:D9N,. 9>K3:$J.7D;DSY(-C>^ (HN\4>1FOY$
MR&ZEMQ [&GEY$\*9?&\&S5%9O6VRCW,I(/'**^RE]"XU=(=O?X.#/7U)X!&O
MZ=3[@'=)FK,G_4@<W3+%G!_$EZ;C^EZ4 .O_^PM>*];O3@:FLKXOG\TR>$&)
M^K  1R4Q)%%;L&)X >'$D?XC27]Y-?H^"V.<98*[3/$VCB4.H ';"%,S51,"
MC%&V<]0POP*TL*QLNI=TNE@69T;Y9HX&!M!R5,S6+$4&@+&,)@?-0%2$E@D?
MJ[D,,OTC-=*70/L7#?;*C8CR&[@=A2,6&K_?-<V)2'*58=YXH9PX:*%C+EY,
M)XG29;@.Z=+OTLL]])A$>UZ@_N[R\O%+E'$C@-H*:).1\ A].FG+YQ3N\W@@
M_XO?]"YT! #D1DHV2U>J?0OG3@HV>KN4H 7M/38B%:S.XT6&4\*N'$_A3\LU
M*[#3^],1 ) _*=DL_:GV+9P_*=CH[4^"%K0_V8A4L.K"K-2!7R?2>]6:^::E
MUL4.%7PQ8"6:8HU@Q(-<.E@PIEU1*+<SW*I5&4'*M)22'LHQ4XGSE!^6P+K;
MCVF29?=IL@ISC?@U"#CG43 J^XCT-8@K-,9OV *#0!QDXIF 'M^9+-J6V9V9
MV7DJJ<CT[W&W*PXU=34E*DC RB<]X[6*IB883*62CH]FI4T!63\L![9I>_Z+
MH)R4<O!3[?'L/,/^5^ODA5C)GH3Y S=S\4=EX>*#OU\LCT22OYC??IML47.M
M/IW5.H^';5: +F^7ETN@S+J=.R_V @_*L'X\U_!+OX SK(HMV;!^/ <QK&+8
MQD_WZ?;ZZ>H2_>7Z]L?+NX]@26@[GS%["N4O)(X%R1;*U&YO-'S3+^!,K6)+
M-K7;&Q!3*X9M5BY</?UT]7"SO#7L#,]E9UHFGS:8EI-L<$H^#B:IEV55(/<I
MF8W#G1=%AZM]2N9H_0Z<&1YH0\Y&B')_S@0,MUW7SE7OW3M>4[BK:"-.''H[
MKX?(O [KOBF*&]OG?27*T%GM]^&_&,?V:.<3&B="Z*K.JL;F ;_@>(\S6E%V
M]492M=B++O993A+Z-%O&P4T2KV_"%QPLLPSGQBXH0XFZ4&$U1!WJ8JL^%('K
MKOJS;"S!*LCRFLR","HIL\T]2ON,$4><^OCU6-U2L_N?-%,]_0(N-:O8DE.S
M^Y] 4K-BV&;#C9^N;Z[O[Z]OK^!3,SV3FS *=SM:JP5E9->W&J;I%W!&5K$E
M&]GU+8B1%<,VDZ?;RVOH+0P]<W$0@NU@W/Q%PR[] LZL*K9DL[KY"XA9%<,V
MIZZ':T06E7^9V+0L(I>>Q31$-U[\ZP0&EN6[E%L7_5=E6O2OOU\?;U>4G\YO
M5$<,48L2'\UJ3K4QFU'@\6%Y=0-F2"W,9:F'(Z@8=7FEL7KZ!5R,JMB28]3E
M%4B,*H9MGC->/7Q<WOX->/+3LX?3K1</JXC1;':))C07Q7I:O\VE@P3:X#(S
M7FYMJ<'@-K5,_/3>SEJ)3D+EK@C4_E4GZ<K^1P6T(UM6G83@=Y3%#P!]Q;C3
M=L--2QE;?W*05X>'J:!^3;@?+: KP4.855S_[;?%=#-7O9S%3=]1%>)^!=TM
MX85?4^82:?32!(/S5AW+LA<>PX!XEYJ)AI$T' *\9K0#X^@,18QUS\QZ?V/.
MTEPR9/*7M!I.\[]_]/Z1I)6+-N_GZH  ULI&=MG260DQ[TK:P$+# AB@%-\G
MNV';8@2WWA;?K6IL*V_8ML#"F$0K\X5E: %G-Y 63IHU(@2>-ARJV\ND%W*+
M=%R,U;Y /0($7I\JV6XL3VM0\*M3!3O#%Z>"*/3:U$:VJC5O8> .W)WJ(T"A
M]$GJI&)\$86ZYMQJ$*AJ*#6K50%4_7O FB<5(RVNEV\PVC)PUD./K,!\1@*L
MB,E*!@*%.)@3SF7/])0N]?2:M+E4 P2JD:::U:HO9OU[P#:7*D8ZN53^F@B7
M MM8M1."0+GD4_9,3^E3;0[EA#<97<D-/QKH1+!SD@7S#CF.#;=C>,S@3<<+
M>0/T(<Q^/3^<X]C?;+WT5T.'M78TN$U)6Y'D3<HV')!-2SNF%&\92&B(XJ$2
MS8G&:TVY"O:,O=C:T5RR.;5(9INKXSAB<RJF.MK<&'M+PRO]O0AGXE#I%IO?
MH]+  M;EFYBOE=NK &&JZ/6<Z$XK99MQXWFH+D(P6)(^,6#6N1S\X2=: $'8
M]W'X0J\.M+W!I@$'?<C)*,+1@TU*6*B'F0S,J!Y@8N"H@G?% _I*DI;PKB4;
MAR<R7+?<ML)P*<5H"-*2T1;@CB061_S8Y!04P\T4EG+6+7N5,1RRJJ8@1JNJ
MP-VPJF-^[*W*B22UV!1HR&6<NENQ .W+3J":C9E18.S,AB?M%@]2&)TCT_M
MP6KU<R@E>. U=)_4%?!*"-#*N6-&CXKF/DU=Z6ZR]\;XS3J2A/[7%3.VY1?8
M.O>407JMG-:@TMRX>!!!)Y8! =!V6\6HF;(6&L:R6]AI&LZ^. "I4,J'+*#-
MOK\P51UTUB;+@*.[@D%^'J(Z*3F& #J^4S-:'N#5OX8[PE/QH=A-*T_PXO+W
M!C[^MF*\LDX.!N5>?3CV6SB&69;>XY1^X*WQ>]L55 W%H86I0A3CRE2"=V-I
MVF#(8FVZ0!46]$IAJ#PIDV?7+L^0QTO*UCU7XJD^PN7CQDOQN9>%_C(.+L-H
MG^- U;ZI%P6HYT]Z"5J]C]()?5;_Z<V?L>5208;Z$V*$$*/$;H$)6FX\>'<L
ML&#NIN6R9SL:7"RW%4F.YVTX(#'=CJF&(3:-;U'8''MP\2+9;DF O*!OC2YH
M,^QH']#,G%<#D@_11YQODL"EZYE#54'F 90Q/WPN_3#@-&#]CZ@_90\<>A'_
M79AXV3+/T_!YSQ993TD1BG!P[QTH\#)-B9C8M)@?@S"<#X^G%MG+AU,%B0-C
ML:UHDE42+J(")XUDVN@IX1^?,?)(T$?R . W5R?3$8LT]+%JO%IAG[U+G>SS
M+"<1A ;-9,??&J0!A8Q'1O/IW)[EB?\KVL<A]!IM&>=A($1XQ/X^#?,09U=O
M-.CC@-YVI^]7[_D>@"+_.:@)& ZT)QT1L#AD>D76ZDNF&PZF1&5J>9JU(1("
MJC!0,2:B@R)I5'I/594[G1^0CI8+Q0%JQ="+M\8*@78TUWRM*5*[PU0X#EG]
M,5.VIKM [#JU&[4# QVZ;8$Y'GG7S+B_BD:<'V 7MN,RWSWRKXXCOWK+QJ'U
M[YP:RRJ-X9K&_+K&<&-Q?=(1:;FEI:33Z+^@?;*QJ*Z<$0,1)WR*44CF?+KD
MDX\"OKR>4E=BRR%.<OJB'5=/&!]'&[%;AR+VPJ,;$><2I^&+1W5B>I^C 047
M!30,R_Y\! +BF4H>FCLS)90;1RD5/VW)K1+2!:LPIIP*,&#K:$MK9 MQ)Y?K
MP[\KEGV;T'CL1<9D20_N@HVK15 ;>AT6V-I5S!A,9H$*A%F2B YFWU$0FAEP
M.3RS'+/XPKE'V/3QXP;C_(:.0%@S[(;KP>%\H4T$V1=TL""^8&:F84("'#%X
M5" XL6FKDL2X76M"<,N2]%NT>FAGK,FX+:NS)S?V8WT_W=.*".\YC-CJK.W^
MM08<]/ZU482C^]=*6*C[UP9F5+>6*3B2X%VYV=)3$ORVPW&&^3$X>WK3E83U
M.L[RE%6YTR)2PT1M1G$A<=6+HDY>F_# ":R.(5/N5^$X,6]7G%TDM-38SUNO
M8IM17# LO2AJPVK" QN6CB&3814XCDS?H@'OU9N_H15)Y,]7+PV,4[@9!<ZP
M;$21#<L$#V)8[0QI^R<7.$@@P3]1-()0_$D(_T!;<S.A?.$[P+5M/^%@'<;K
M2YP1+ML6XCI@.#\QLR][B!H2Q#=,K#0,2  C"=J)6;PIA'$&UX.[9#SZF5L'
MZX@!&6=LI0DY,6,7'-$GH0275;)JG+BM,"$30VO!ZOEA*QI0FFC)ER);+#"1
MEZ'"$N45B1N+]K$DW @)PQ(9VL.:*T?Z%AN5$6?2'D6'E:<&WX5EF*60;8M]
M);(S*W\#=W;; 'R/B9-8R%MH"\3>U@1/M,>3.D-!BW\")^!*47\D4_--DF7G
M!Q&+'G#$YNUL$^[.#]>QGVSQ8TZ$HN#%+OKY0;=/9%=:,ST#CH6(2=7<&F,F
M&=V=(#6A>)91;H$H#^@=Y>)+U^J;%)JZL2YY,B,[ZF4-\:P]Y,:16JEVUOI9
MYHV#=57#9 UE6==,5EIT^B6L]]W14S5:9)OB#8XS)B6-0E2X"R_;?(B25Y9B
ME+$+TY?T'K!/K_2'JU"42\3!D_>FT>#(8\#Y\B3*DEU^U % (L,$$C2?/Z-C
MH-H@B(\BPL<"?8I3[$7AOTB&*X>5)$9R'KQ,PXSM NU3^I][\E5"FUDPEA!A
M #SKGT.=MSB7XQ%M>IZL8Z8[\N'=Q35LA#J6A=X*6/K^?KN/Z I&IZ$+_N T
M_TVY5O01:N0QX"+4),J2(]2H X!$J DDZ)7B5'P4]W8D+M"='Q+4/!&!;8&N
M6)\(2O&>MKQ,X@6Z-3S.,5> FD.;-$"]HQ'J2WY-)Y4UQZX0>K+F+JY)W"*:
M"]E(L,&+YH=WJXL4!V'^P?/I%LW!M/-@@(<+*JU"R %""PSB["W<-$R-+3MH
MZTZ&@0H4-U;*=3%,CW\H  &;8&K9KK6^;$#!-+S4L-%L"WEL(0X<0->9-[_D
MH01UQ4@,;W<HX!PP%/-K'<>FXL1!\P-^2:(7LNZI2V(\8F[!@<Q[+82IY[$&
M!*"\M)4CU9-S'*<Y8;EQACRJ4.ZE<HW]6XOTX\:%76DK8=K2NAO0/6@+CNS3
MNQMGMIN'B^6>FWSTWL+M?GN>I&GR2H.!MR/?Y(<.*M"3<,N)VD1M\RD=OC,N
M9F;0UN,62-!!)2%44'+0 3L*7<CV7,KFM\DVH%U\%X8?]\__P'[^E"QWNS1Y
M\:*[U0V.@T;"-R9AH.;RHZJE[#D_"E6XIU=&9+]A]=53"JR-5Q2N0]KFURL>
M4\TX/90G*-^0SP55"DS_YK3I)8 L)/^@6WM)B@),''8;QF7#GLJGGKT,HSU#
MHOB1B#0^CS0K(1W46S%3:IH%U;MF&J./J4@,09LN%X-0"I7B(5^IF5)7^E@L
M&^2Q,49FG8P<K2O/N5M=";\IWB"^*/WA0Y)>RMYPMRJ50YM/VRIVI,$<BNJC
MJL\8Z4<9R:WH/Z)(G6>$SSG63ZE7;5(M*9PV_BL47KYG7@U,;Q*BVM 4HYHX
MZ.BN30FG8ZJ0$\>G^#F,(AS,.H$,&-3QB62P.CM/*+U'=']B&2B:K=?NQ3"_
MW9EF;$7K5AR:":<8_G.>>4[$EB&FHF44@<Q&XXSKZ(0TIE*MYZ0Q!G5W6AI/
MNA9O]J+H_\Q.D^K;;H(B#/PV)JG3M&S(99/H2C/KJJG_F([.46,IL_.:J>^
M[LY-XTAFFV6N1$^FW]R4-)&:N^[0%3VQ/L.IZ*0,&7BU-.<D-,JPCLY#(ZJT
MSU+I\YN-1A.N2SKYFYV4IM-VCV729SPUG:)5SS5#\5<T9IV=1AW2H9EI E4:
M9Z41QW-K1AI=L&;G>3;";WLFFE[+NEE(:/\SGX%.U8KGFGEZS1WN1O_N\=OA
M"&QC?4\DS+UXT1XK N&1Q=&(Z'N1O^=MT%R*@CWBV*K<Y7$[ '79P/*/18.)
M"1?)"XZ].'\B 2I[(NC9)HF"CV%,:WL?\#_W(0V6X1L.+C9>NL84/B79]P.U
M*UN]#!S$H9@SBKJ,,6K0"&[%M!%$4<1 009M.1V4"D)H12DAGY$B\9#30BDE
M=EIYXA1Z*\).8]^\& RQT1:H4K 8$!4C(C8DXF.B8E#$1G4M$L]C>B:+*\TR
M3] S1K0O04[^'P?034&?\ZIS$IFGPNQQEV(ON(O_ZJ4A;<9"=(#?'RFZ.SID
M8]!N(M9;@]KA C4'[<*<HG?6<RYUS5H@1@%Q$K2#7T&$NC14;C62K-<Q&0%G
M.75&\,>894D*Y@L&J1#T&:RKMYRV\2+?7,4$,%5-M*-0=,4O>RE"[ZJ=R#G@
MO3WX;7?HTH%+\Z=DR9Q."*-?*M)(HMUHRR#_3:;67__\;\4GY'_HTN3/_S]0
M2P,$%     @ (HZH6BB201\)3P  1I$% !4   !I;F]D+3(P,C4P,S,Q7W!R
M92YX;6SM?5MSXSB2[OM&G/^@T^?A[#Y4ER^294_LS(9\JW:,R_;:JNF=\U)!
M4Y"$:8K4D)1MS:\_ "\2;P !$B! R+&S79:$6V9^2"02B<1__M?'RAF\ 3^
MGOOG7XY_/?IE %S;FT%W\>=?-N'\R_DO__67__5O__F_OWSYG\OG^\',LS<K
MX(8#VP=6"&:#=Q@N!U-OO;;<P7?@^]!Q!I<^G"W 8'!\]"OZ'_K/X,N7OT1M
M7%H!JN.Y@ZBQDU^/TQ^NDN8\]T^#T=?QUY.CDQ&J_Z?1\9_0'T_?TW+?T=#F
ML*Z@ ]T__H3_\XKZ&R 2W>!/'P'\\R_+,%S_Z>O7]_?W7]]/?_7\!:I_=/SU
M?[[?O]A+L+*^0#<(+=<&O\2U<C4^7GTGK7/Z-6W^E[1]_$55#\<7%Q=?HU]1
MT0#^*8AZNO=L*XR87MO#@%@"?_J2%ON"O_IR?/+E]/C7CV"6CJLTK!HRT*^0
M4G['H+_\VV 0,]KW'/ ,YH.(QC^%VS7X\R\!7*T=W&CTW=('\S__ EUO]@7+
MZ^@T'N+_N4[0E/X[<6<W;@C#[9T[]_Q5Q*!?!KC]'\]WN4%!%S5FA4A@@;<
M[J^VM_J*RWUE:_*KB-&_A BRN(\KSYT!%R$;_1%X#IQA*%]:#N;3RQ* ,. D
M@JOEKFEYLGQ4;@E":%N./,(*W71 Y>[7X''^N 9^A)4  >C*6ZU]L$05X!NX
M0^IQ!832S==QQYRXLH+EK>.]B\4PH8>.:7L)/?N/I>?,T )X\\\-TA+2B*SJ
M2@BUUS"P'2_8^.!ELUI9_A;U!1<N6B5M"ZD_V_8V2/^YBR<T*AL"#*N;((1(
M$P)>D;;K2C"U27?!,[ !?+->'=XY26]*\&B_>=[L'=E&B"5W+EI %Q#U,@D"
M_K6!L4W!XX^5S]3Z: &:7!N"QY>H37=Q#Y QTWR,I78$C_/><Q=3X*\>7QVX
MB/5\X[%6MB5XO&@%6L$PTF'1>A3-;[1#@"UX3&U3M$[$:O=QG2ZHSR (?6A'
MNAG]\,.%+>8?4]OBY;&W".Z]H)44BBV)YCU88"$_@[7G8Q''PK;15WY+Y#.T
M+$7_/0'_98GLTI8J<-^,X%%> Q^M7R$2:'/>YMH0K?V@"Y"]YX,9#)NKO5PC
MRFVH]+L.;:E]E\JIGV)KJ4O:TPZE6Y,M*2,WV)UEV9($AI;E69DMQU[1DER+
ML^5X":W)MSY;CIO28O>67%MEQ-Z#;*NN)27$]KJV\-I*A+5]J=:>$%54;$R>
MY==RN!4M*;<RKD%H0:=+,V/7HP:TSX&/C-UG\ ;<#4A\Y$I80A^(;IQ2SB%9
MG"F;EFU)I;0H?>P3&^F:Z'QNXCC>.\;4K>?'VSN\=+6'>JL^N[/6KY;H(PCN
MW"O+][=XM5OA83_.TSIM^2"D[^[X,;'_N8$!Q.O\,W#P>4JQA$2&<'3>'4=2
M13-#TD'VT+\B&^CF8XT/GB3R@JG;[K@@D5)9U.1VHQ_/B)=(%R%#%CHP8F9;
MDIC;ET?7#]='7:*%\E]@AKZX!"Z8P_;"XNA![OZ^+2&DYN2.^A:Z:'&#EK,_
MBD[4V=232V"3GN7RX@&$3SX(T$C^9CD;L NU2'Z_A]8KFB_A5C CN+N5RX7?
M 5PLL2Y_0U\O4.LK"[KIK]B3(QH('!W*]W:UI8W69'<GKVVI8&FZ>^]=]%<4
M((K=5\BX$&G>".M? 5]V^]!]V70#TP5;6+I7R)6*'U5PAV48W7-I,IM%>QC+
MR82_=L 6>K^RO>?(^'6L((A\-M$H;WUO-;'MS6H362"/X1+XI5H"M*K0873M
MJT\*B-ED->RM<YKWKKUXI[&S5N4SH+[KKKF1^"V#R^TWX"U\:[V$]C-8B% 9
M KKNFAO8UKM'DW(68U0!4]A'T#5OI),NUV.1'L:)\4Z46I,Z9BE+.D\7\DXN
MI9#&W+X\NFXMZ">;__VW=RXRFZ(K2JUG4Y.NY%&+]Y.^9>.^ K3&18[C(+WC
M\1N8+=IO8!OV)C&:L;5CH:JM!N/%O0:HV^C27@#L7Q?>VU=@S_ ]R2'^ Q,S
MC A!J( SX$]]"]_VG/@^/@**0%*FHM1<-'Q:"Q5CKV)-]G+A1=RJ"Q98BO?6
M*W!^82*XV);C^[FF\,W("WPS\O@LHCS?0^N13H$? /G#S7:3&?,Z=BY&N@RA
MZ(^D.]R@R!N36<+ 1PC<&9CMOH4A[NSB8H1&?G1Q-/@R2!O+_FFYLT'<\B#;
M-"8E)<;Q[%Q/#KXEZ_D,&)\!&&,<_;''./KP\\I[ _[D-8C41-J2@_GXYU\J
M?O\J>SPI/Z:HQ8KA9'_^>79Z?GYR,AH=G9\>C8Z'X]/CP@"STI_X^<%:OIVV
MC_XL 2)_KS<I\74=7;O\8B^ALY/O'.U;*WF5].8QCMSSD;;X\R_HKTV QN*M
MX\7XEP&B(HZ<N(_Y0!QE-$0G,P>Z$-1_;RP_!+ZSC<U5BLP*)?LI/A8B$DF>
ME"39F5"0K0H]I*AFUT@W4D22*]=/@=23D(CCM&<3"QD.;AIC43.SBD7S;#@9
MGI_U09),5"3"''8_M^+%^18ZX&&S>@5^A3R*1?HE!Z;1)_P?J>(_=NW@X;OA
M@[6J4FU5Q?HH!P8*$EF<]42QI7:S[?EH>D>LCKRZ5SB8SM]>>3.R/*FU^BA>
M?H(2:8]5S;RI]7$W0T3O3FQJU""A?!^%Q4-*(J9S56*:S&:(?T'R#_:<'!-%
M5%&VC^)A)2,1S85BT5RA/Q_]J??NU@EF7[+'8JDA(MWV'BF62J2#'_TGWWN#
M<8HSJF@*Q7LL'Q9*4B&5G1/="NG)"T++^7]P3346J@KW6$#U=*3B4>!QP+-[
MX@.+()#LS_FAGP['YT<:BZ!VY"G3RWX%Z4S'Z1&=IZ7GDK>BQ2+]8C[3Z%,!
M*/ %O ![XR. ')^\3K%[OT( Q2+]$@#3Z%,!*' &)*=J+]O5J^=4<#_W>[]8
M7S_TE.]]V?BG8+KYL*.;= 3/356Q?HF.F8)4@LHV\U<;W\^&&&$C<!,0+:KJ
MXOT2#C<EJ9"4;>7OW!!@2N ;N+9"*QDZQ4=65;R/0N*@)!62LDT]]I?[5V@+
MM?#\+?5,8%>JCR*I)R ]]2QOY/5<E6*Z7E:6XUQN NB"@*S_<J7RU ^'YUB-
M:RZ^>@)2\?4E_B"FZV8%_ 52X]]\[SU<XNL"EDN>A96E^RA.=D)2L99= SJ+
M]64)'*=.FME"?11B[?A3V2GP,"3&DK=:X=,IS_XC"GT.'C<A?N  [T_(MB*E
M4A_%Q$U/*K:R7T+G*7<572]P[MP9^/@K(,^Z0KE>2I2!A%2(9=^&GD),;.1;
M&-B6\W=@^>3@+U+1?HF2BXI4FGWQF*0A47OJ;M$W5?8IH62>"Z/A>*SS<0</
M$:DHRZZ3/H@RCE9D$V:F;)_%64=&*M"RFT5/@4X0:;.(/,>JLH)RO_=+</5#
M3X55=K<T%]9_?BTQXAY](? 2!]>+45D!4.]R'!_ANQR[MM'?5X\/US</+S?7
M^*^7Q_N[Z\D4?;B<W$\>KFX&+[_=W$Q?6E[IF%O!:\3,3?!E85GKY.Z2$P;I
M-WNX)E_\W(WQ<;[+//3DQ;&VA+L?:" _>:K_Q+N4EG.O"6E)0KIJ(JH+:34G
M&_%Y/VLY*!1TOP2ICU<O?]5*A<03\X])\(6R6LF?0X DJ;.09XKP\=U5?!T>
M_8/?"7NS'(#S-(5I9L[H=B\!#$QU\]P[&YX/SW4!!XN<RQAI3K4IF"EGN'T
M8?5A&DL5XQ#"32SQ?EL;8*S1+@&?G4?M*D#)DP_6%IPE&<W0C(D2$.7X2@ +
M0TWC,-.49D%W\=3K% 9<F(T 9EFW=8.'7F@YZB3]Y'MKX(?;)\>*;_^C172-
MC72D)(D*@5Q%8QQPJP!.*@4M&V$QTT.W>,@G<'W&Z5L?YS^".$<V 1#4.N8@
M@I],0<N!:DCLU[X'S[6IBT)E68,@P$R>H-5!N260/FNRR\6>4$]4!N0*YL"
MDT;BI?+F:F"_G1@J@47Q\01$^LV'[6QPU$#ZQ@(!("Q5S8%*8VH%W7Y7KD!J
MT&">Q%FDVO9T5[E4TY?F*3O#//WCX?E9\0BE+Q*ET$.\#M^K36#Z#D7\I%D4
M"[;T'$19@'<]X;;F&(*UNE:($'0RU8IV*9Y&M?AA.[@B5] *(T*$3,4,"_6F
M'50\65OLA6<[HL@7SO'G[$1M#%]#<9)/*!AH-0@+_@8-ML0Z,ARJRQN+" YR
M35E&;E9KQ]L"D+P5Q@R.VGIF@J09V:8<4:6YOW^'X?)J$X3>"OB[]]3H>&&I
MFN?=Z?!<9;9089!I3+FHPZY*%U:1L]T *'I7DLD6J2AI)CQ8"17DT&RK0\KY
M^?$WZ=6))WP#WG,?YQ7O]A4$S5K-+*FWHEJ*>U*U2B"\SDG7#O1*9D&F!<V"
M/)^*ST*9;=(Z:\P4)##2:8:?M'3NEZ&>XT0T7TMW7(CP>#5A@2:[6H*1L3_^
MY[4SV&J:C(JV;) 05J.IY5$?;U-7+\_ X7!\48P_[B^.VC%!PI96K4%2;XD<
M ACJR!45C).Q1/;*8Z3(%49\TIWH 2/6. 2,\))OY&:7^YB?D>V&8H:3>C.V
MNT_I8"/J:;</*TIJB0I.,99QP$JH*2>UF?Q0U-NGA6)F"I^)2@D7053?'MP_
MGOQD0;2+O[+6,+1(,9V$TGEFC8;CH<*\H,(@P4.L&?=!GO$3Q2Z8W5B^B^RF
M8&+;F]4F.H.^!G-H0Y(!45_13(@TI-N,#6J&V.CV#,X(Z8,E<(/H<7+L#[SW
M NP%?)Q/K0]R_ ]/*V;B2 03-#FZE;![N01SSP=3'UC!QM]&OS-O9"KJF@FA
MYJ0+V@,K/L')T4FS9\L%S00$(YUMM[,7N4?N=5(;S#K"3/DSTFG&^>UWZ$;;
MJ.@!!A"0[-1BL3Q'SH;CT^*ERSY*GHE*XIN2_3UJ*S,.F4[QA<SD)'(2ACY\
MW80X#&[JX6,D'#;I.6@4BQKHB&G<3,!)Y WYE4T1ISIJ<%KGOZX_[JNLIB6V
MY)T!LO- UA*G5?[7IT@42Q!">^^^8TH&.VJ2#';P[[D._\/0Y+#G%QJ<SL2O
M-TPVX1*IK7_MY4@]J"E6RL^,,9H9Q2-MG:_H8CG4G=@P42SH\$:KT[N8\+L@
MV'!A(ZYP*+B@4&M&?J\JHLG/WC#6.A1TU)%LQOE.YI 3K=Z/?L3$6>0;>@)^
MQ(GZ0V!231.ATI1L4W*$E9Z0JC5"*#7RG#H?CH<*]R?B <)$KH2$83K @FI[
M$$H?!!PHI(HZ=M$,"O4F!_.[=*:"HHY>4U*)Y4Z@$BY$#& YF<N6-Q$5?,2*
M<F$5E85J%];NU^!QGESV0+]&H=NE" @.I]8)ZPM'+U/TS_>;A^G+X/%V\/AT
M\SR9WJ$"@\D#+OG]Z?GF-U3M[F\W@[L']/E&@9\KIGY'3$TL-Z$T0M7X:#P^
MNCA&?YRCOX_4>+:>P1MP-^ 63:6JE!6[#)HX,Q_ZWXP<.-2@I?S4ND!32X-4
ME#P"JXI $\,%,_QB5UX07?Q(GG>H>UZ+5-Q G'"1JLD%W?:WNJ$/['!WB3#B
M 0$*545SO!D?H:W]F7H8< FRC -F.LU0""\@.F+^!EQ$L(/8-IFMH LQRT)D
M6"1,)!WY,U4V$24M*#=%=Z11";':32A^\%POG3KDM! L54U$36.ZVWK7=8E!
M+/*/T>PP$0M,-)KQT-(^/C^UPJ&[06C?[V?C2.Q=BA00W'P@7B+JH6OYVSMD
MT 5<L6@2>\S+Z1C)J;A/[!\6NV:7U$0$:D+6=JQ)1'")+(,Y\3H8H;26V&JW
MK>*AU)3\K$^^ATC$TXD84Y 6,%#B-<29L:0A0VVO-%L$37.W8R!@Q/# E-M]
M.6ZPH";/C1.U9S\2$%%)GQE7\M);T6FH3(TWEE3<0 1PD6I&PIDBR9=6 &U&
M)$1EM80!ER#K<4 F5$K2&=5O#1;)OX;.)B3&$1%*'P(N:*1*?M1>#3)^!_@1
M7C";H&%9"_"P6;T"_W%>BI^I65)XF\DS^-0$\U,("P2%GRBW/EF905N<N-K0
M$E!"(-$<:63&2#ASW"NRXFMS2A&7*'36D$G.5CY1Q\<:(Y?0B@BZ-']0;5A,
M;<T\&X>(C1J\N]4V0J89U1(2*?3)J:N)[)M*C]W!FQ>WK(V8FJA,6M*Q)_P%
MDJ,;IR9[\A W00C]:(XEYQU/CN4&D]D_-D&4>[DFY9NDW@S'99=<:[L@5@9D
MJ%X0:0R\]7QD1[CQ0S?V=NHC7B'1Q#R-/CDQ:D1@O'EG>6'A#$X:O!W2#<0%
M,TW*8>P>X<5X8?4(O[*"Y:WCO?\&9@OPS8)N=!PU1V;',[ =*PC@'-I6RL]&
MN.;M(B^8LT-2V$)8)>66L<Y:NH7.K58&!X4Y*@NDQBRIT884K@K,"R>XE[QP
MQFBQTB"[OCA\=L$M,P[/:3R7@M9/=$KACBF7N2F\X<?:X>*(AA'C$A1F;W>G
M%N_.O\APC?NTV37NJ\G+;X/;^\??7]1F)=R17/O\%KE*Y+P>7@R'9Z?'9R/T
M_V=%>[6SN#T\MB??>X-(7)?;'P%^]'5WD7""MN)O<5Y..K'\#6FI++AE5AD&
M*((3ICQ'U?@$0A-$"!(G^X&$3/FK]@+LO7C!U'L&R-BRH0-R@;-33XQ"DM%5
M7E"*$]9(!VAG'#0C4><U0,.U821Z]+<#$C??9(4WOO^*OB=@E:6JEMCK#")E
M=#;FF2$9$)*X8A"E5$(F.@U?U84_$57(CL#.)5,T5CS6S 79^%CB"GT)R3E5
M:JI]XJJHJ1KPRXS,Q/BU1#=R'L1N-D0#CE= G,!I\L UB/_%%\')8&-MX1-W
M)=RU8IT9SUD6R<UP-GGYM3[S'F,#GP LW:)OPSDSDBJ7F3"Q;6^#Q(&$ > ;
M/GE@1EZYJI:8:REX%B0Q<J*ML:]+"J(R YY\L+;@+#4NDD05::@@S@M)-.":
M-7:H2&O,&RG1EEI@+Z)\OS[P8:VJ<IY_%\/Q6?%:CYG88N:%*:G4R(K\R=IB
M+8X].+;M;] @]V_"<:^/M,8.%6N->6/*JR=EEE2E5DZY07JND;.50T4;/U,D
MF/L:I%<KL.5FM7:\+0#/P(D4<0,=1V[B4+'&R1$S7FBI5/!8G4<.QD3)\RR<
MQ;J'BB965IB1OX?]]+AUX(^6@))V>MZ2+Z+\_QHE&R5PY,Y] X&(6#-*0UI"
M3UZL&2\G3$GNCM1UXNB>V/_<0!\@QJ#Y%F[QN4>(,PVC;]>X""D6C;D!+1$E
M" X5L6KM^&**%Y:=OZTU5XZ/YT?#\4B#7"_2\-62+Z+",91GYZUB0O("7?OU
MD=*0EFB3MS[R<L*@%-\V +,H7W[T0.%C1$EP\P%\&P:49^9KZFF)'T'"KU@-
M&[%#:A:TXLLB7;WZMTX,@\?YO><NIL!?78-7DEXB%3\L]'!Q07+&EN+]"MT6
MNM8+W&%!JR5?#/0YW,SG^%V\^<V'O;3<!7A&T^#1Q4S"_X]W+6^6 Z(X$L1I
M:*-)@G] .YK\%YF2!$Q*Z$E+\ JPRKIBE1D!C*WX\@30!)R5G=Q)3H:L!&*I
M$-#=[2#RTM3DN1 !P-> BQ(2PO1M3LB ^"=B69DBZ/1U'<T&1*$??L*0QG$-
M,@EJB,-C8>>W,1!O7(5NZ9?->NU$#+:<E,%W[MSS5[&4:])4L-4V5<.U(=^4
M]Q,R-].>+$CR A9*Y3DRTB,>O(TT*X-#:BDVXSKQ+BSA'AN5Z7$? 0C5A?/<
M.4/<T>!$5"P>. @WXX9PF@(-H[_^8?2DU $ @85B"3=XR^E;=$H%%AV%+#T'
MD1U@ZVL?0LV0$VS8+"?8R_3QZJ^_/=Y?WSR__-_!S7__N)O^76UVL#(7"/87
M&LE/KOH_AV=JGA'8C6Y*B2G-%])*!S3D=(6M6$^C('/ 4;>92&F,68)387@N
MGN"3#T@R"*AUM(("AR0IXF<FDX@&-9D^5YX;@?X[P*\ID1P0Q7)Z"Y!9%A5.
M!29*S3#P)[,9C >.;98[-XF6IR*!6B?/J[%F_H 6J."GV@Q;_QF$%LX7DCY2
M2H5&=6%C,<%!KAF)>R:VO5EMHNM4I+<'Z*J#M;ZQD&G' 3..KJ?XB'+C;Z,E
M-EYMJ:@AEC<6)7P4FY$1ISK+/A48M"K&8H.;:#,NMA8X=NVMT-)+"KJJ*FLL
M(-BI)9YMJG0HW",+Z@[]6>M%V!746Y*-7 =TVLS8290=:P(?9A+3N-[(HH.D
M"EW2>"+(^U$.UU$=&5QA><6OBK/;IG%YLZ#$1Z8@?:4?.DH/S).T$?4A^O/S
MX7BD4P 6MV)A(D^0RT.+D+Y<8E3R]9-]&;,$7D^:Y-=)U5QDRY'=PCCA;L=@
M]#0F7Y"7@X0P-0M*+@TSX8@ATK:OQ0<(G@&RZ (8@A?@OT$;Q/< <";GA1NU
M\C?+V9!.Y65W:Q9^E7!+@M=&-=@CX_$N"#9@=KWQ\2XD8D?$ YY[Y]SMF 5'
M,>1+R%.F>KDF,":V5@4 C-+002",EWY1#YU60DS-'77:W-M?-(E*3=XM?Q8]
M!'OK^7, PPW9B]"VV8. 7SMN)&"\,,I\I$Y4\7AD;_<@ -F2':D/]<@H2)*B
M&O#>[PE_$3W'%Y5Z\A#G0 C]2"B7P 5S&.+4<<'>XJYY=5Q2;WEYX?QDHQ[#
MMTLFI: 6F]1/9U"C:0[@PKW:(-I<>SOU$;,L.XR9&GUR8I2(P'3SS@X'TH)Y
ME"):Y.FKSGA.KT']!F8+\,V";N2UFZ/A/P/;L8( SJ%MI>QLA&+>+@X'NT(X
MDR)6SATSA99NGX('^HY2B3Q)\=GVL*B88T$U1B7%#O0=27QDIN!H>\ZC&S@$
MA0[T'0QLY*4@$),.J)"%1?[EZ&L8V(Z', ]>-JN5Y6\?YR_((HW6;C=,7MR*
M%*D#;1B]^WP3A'"%>+K3%;67HX^/T/\-O@SVG>&;TG%_ V\^R/0XV'<Y2/L<
M(/8/]KTJN4M29$/]C6ARI9^CTW,UMK2_L%SXKP@M^SOPZ,.E%<#@<?Z40=/E
M)D#S)0BN06#[<)W8<66BIDCNEVBX?Y",:YE]YF;DQ1&:D0HSN/ (O\+4[IQ/
M4M,YCQ1H,/*SQ P:ZJ2LH=+V!ID&5=QJ3#NORYI?65+-U;N(;PB3#]$C>C.P
M'UJ=OF"KK-7$9Y!4X5Y=4PJE3MEC!5/VF^?-WJ'C(%Z@?9CE+B!^V#/W'"_#
MW#TMS]VTX<AVV#<]2-KN?E)0*,UHL'JS@JN=GVJ.GIG&6*<(^!K)3Y?CX7A\
MI(<EP"VOLL(0P FIBN-$@>+()+;C4!3#LJ*(&QK$+2E,7,BE!"BU?A:WW,KH
MJ)O@M"K:3N<:SI<G+S>5@J8JZ:B]N[QK>X+S60=Y)NRH/&%WC0V2UKH'^SW:
M>P%0.V/KBRN8J/%@"A*IFZKT2GD8GPS'YQI$T-3)*#M'&Y!GW(*:/N3S^.K
M1=0@SSP]*\]3W. 71-]JX&6:Y 8\1"/'*!X=G9X>1TC&W_RL&"YA%M87YY^%
M[(.J7PXY:FHUT5C%@"=:6QJ-V_?BLR48W]- 5OV5%[GM@&M#KM5Q7)YUF8:C
MK6^^:34Y^PB$<EF\7.W\5.->9QICW5++UXA6&J&5O,JKL@!.&+=*9V\TY!Z,
MB'[XX4(NO]EYQ:D<;F>0]!!ID'T?R8]Q+]U/K\Q^8IZ_N1;E*+OR@C#8WVU+
M<YLSZ)9V#?\\5G-*SSSJR^RHZ]1/RU;SL_!T.#[39-\N0,9E#26#6<:IK%SX
M8#8G 8."NJ@T</;-#1S<GI*5OA@2F0;FUO@"F&JJL5U*X_)"%FN%6DTK?=!
M>@5[A)]6J=/Y5(4% A98BSV#-0ZM=!>Q:68#?)#)Z34X/JJP/^+F!W[:?F2#
MV/D>%(3$%:EF>!&!4.7G27$*J"&!?4O"4%.K><XLA?(<;TJJ<:MVK-^>@!_9
M+QQSNB+2+SEB0XT-XM84I.1,TEZG!#',7U(5)'\U644+XZF;M<3R>0 /T4Y9
M890N,\?+<Y6/0.-FZ#7PX1MJZ(W'97A<$>:6;4C!-G;7^YV+Q+U)_3WX6E'N
MP7<N=V&+5G^>J4D)TF#(M9OY%DUJJR7:BK9B&R^:3<;I&E0=NSC0P&'(H6PJ
MXO)P2SCD/VE+P?EWAI1;RX8.^7TSMBI*5,5KR*,%*DOGD3L:GNN0]X)%.OFI
MRTZ;<8>(_#=VTN\8Y_ %LA:.3D1=W!G\>_K]?QAPAV>L)K0VN0U2&-@V_F^=
M)F"KK)5BX)!&63NTH%>JLBC>5>C*Q9NY5<0&&%H5<V#"3:6$1PY49XO[$:!U
MMW2SLP"'?"%S ,! E]2WD-6(/.>V?X;!'['9A?\BJP-2#7/ P$NDA(?.RM<H
MN\X.8<U FF>K?*LR5I$$C##5-0<MS<F5\!2:ZJRVS^ -N#CQY2YI-)N945O/
M'+PT(U5JAFTUJP\Y]5F0SWT6L&&H<7MYAI_U(H= -;;$LD!JUFTU1VB9DPXV
M4)$KF(,:3AJE9LI68^X\(T$A)B^OD6YVO#5V_T=1+:OU!@WSQ9N'[XCU[ [7
MQNV9 RJQ+!"4$%LG9\SN6BB;(B(5-P<Q7!2*RD>MDT&46(:WB)5745H0._P=
MALNK31 BQOA<EC1C(^:@1P#=K=-!:ZAE'L![AI6^YZ(_[2@97L!S;L#;C#FX
M$D*YW+3,*B[T\Y\\1D\-,Y\[GAX='YV*.W>,.]?ZU)&E@AH?<4F91IEGD&SO
MH?4:'=!/6?)Z-6@I/YG&P_&HZ-92$*%0+]&",UD(U9W$+G2]&8\'GBS=E]N)
M[UON(E*N/,$M7*T8 "D1%$L]P%01"E/VO/,N."?E!:<B_Z/*M:15(LB?BE))
MVTLPVSA@%X01X"M3P;UG13[)6^A:KHV SYX?LD6+6DY^@JS*\UXTX08N*64M
M,'$<[QWQ!=QZ?GR.BV^@,ADLS1KK-\8$TFS<$D/)PLB[UIR6UQIZOE*5RXZ:
MQ*7G:APF>R6;#I=]/2K5R,\+_)3>A1YN$'Y1T)8C-KH[N1.A"BQH\84AN(=O
MH%HWL(.(N:4# 5<[?A@8J)FRQJ.QYG:#W_*<K/ EYOA)@9L/G)T$<*%11!<'
M 5-IC.HDZE11VF9>HVE8-IJRN9M5FDCL29R9:BA=RF[F<V"'NPPG:(C/5AC%
MJ[GX.E8$ LXUC;])K;0&AY2KUS!!]!NX8=_SZ(?KQR&1_P+XL<CD.=_@V7,<
MM//$#U5S@HZWP3S++_1X4:0QY(10;]P6OICAF7,%&I57H&(R<I6KD*"LY,T\
MQ82,R'M$YGF?F$#/.Y#>N8D#TW)V#_;1]T["V]=2 ]"DM%< W?#"P"U\5>;W
MW;GL=PM9[JSGVPU:ZC'@1%.MWT:]5J']#N!B&8+9Y T1OT#3:V5!-^4!SG..
M3V4P'[%'_7D7 \.HSMJVWF-L=<$)XS;6%<GU><V;L[)Y4_F&0PL;QYS''&JG
M,D?U+$*/C_!3?PK/# 4_ZU!/J'EI6>ISM/-.S?.*:$C&1.TJ=R3:9FP_:G31
MB&029.0]S;XZFUO9BX6TFO2B>5M<S)F()RH"%9$DD8L$=3#Y@*1L&+DR6HF3
M@^D5,2"U9 G2V$ZLK%6X'7<Y^;, S\11!I?;4M[^B"][YKBS)\=R'ZP5N/:P
M14IR2$KH2BNLL<.FPE_9%7-ZC]@J(^+YY<=WL'H%/@%ZU#I:8J@S/)2AR,\L
M"7:K F"ES**L<]DB>4X<(TZ,>[K,U5(ER"6E3F<PK4^TR:)8O,R2(@N70I5
M:Y.P+[CYYP;M0?%0@DH]75U(:Q%0^%DP^=GHTD*',FSK[J$+[D*P*JI(<D&M
MQ-A(47+2)L&CJC0@(6N!X#WOK>>738^,98(#Y>VH]..\VHZ)=LZ7T9S@C&7H
M<"QZXY8.05I A&H6&AV\4\V@G!\TSJ'/=I3:OF%342R4'U+/7-4D^"IPZK7(
MJ<(NC^"=;P-6H5T:#6/YG))ZR*OB[;W24YJ\YT@7Y7.D\GN:*D^,S'M8,W=M
M=[/:1(<H4;;8BA$S7TYMV6I^NIR@Z5*,D>G/LYPR6"'(6GL#_JNGRZETW;N=
MG+H$[1C+9](,CW>JU"XB7_$\/E:5K#)[;0"!/KYDA&92,M2IMW_/ ,SJ$\8U
M:TXK#<(NL"K'OT &&+C+*_(GTJR9_%N[W]U%9 QF.!>T@Z* GHQ%J2S>='+E
M0Y4!EDD2>8,6-A\1EN;D"B8AVFF\;C"#O#2/-@XH]2$(+K??@+?PK?42VA,?
M6.S&F? >C0%TUSPR\/V6$@N#:AZZ,QRB&=U-CA>W+.<L!_..=],AND-S82V7
M15+?GE'_[#COEJ0B:6CQ[7&5VP^1CY ?X_?KU5X4+PP-/[9G1U<QG$AA<]X1
MYVDM/Q=.T5PHNIMU>\$\$A=-7;2G7XK/0N6KYKRSOR*K5J8UI7'PVKUQ?GRB
M^H"F<O1W[NY":I3Z)[ZD^N0%T4M)MQ;T_V8Y&PZU(J07;=5-:P30-)(\UDGU
MDFB)ZV\6=+'KF< ^X,\]?X6S++9$-G\_G]@6S3P)+I0>Y/>_!J$%'>;5>GAT
M?'0L+L%_TKO6&?X=MG<HCL\:&?:$(,9K$-@^7,=.P\M- %T08+FQ"9AXFTU
ML_FY,]1'\=3)IA A*8L5>EY9"?PP,RG0I_V$0!]^[A1GSIE1OEI +:L5,J3*
M> \E?H9(ORU9)^K8,Y8=:^5% VI9K43-+X."_+BH5"V_20"MRFL)^1_UDQ 7
ME_,2JB%+B]L(.6$&P/YUX;U]C52*OXWEF7S8BS/YXN>/EX(H]S\8(\8:DF09
MW_+GXS,./2<LE;O?M!)CATLCG0$4H4OP"K#(D:A8,[]J)<MZ)E<(I(DJ[4@*
MWZ$+5YL540ZYW_64!&5L>5G4TZ+?PL8L1^N#+L?L[WV78RTM&J]N//>2?6\-
M_/AR*'X'#U\5C5Z(OMS69%QAJ*D5!CI:(=NRAQ(;HS;"A4@0)H=^K;V^9IX5
M(TTN6C<4(0<8:CB@4Q:FW3OQ^U?DJ1E/B.7[)>L:"54<;'#1K;$UP(&-.Q?Q
MST:J]!D)#C%]B8,E&''"5-=PS#3G@196B)3SCGM:F@=!36L%JXX,%.G\DQ '
MJ>*Q;2O LQ#_@^?UF^5$9][AE>7[6\2+*+2"=/V1I:YIV*.#HJSSFC.IHPN!
M7>-M#4/+P4\"I.^4XZ06V:>JG@ :XXR(.<;ZG[AKPRBI=W+47&),.7[EK5ZA
MF]S^WSU/,4.20[RW=D^H36PT6Q&=.&P^>5P '\L'P6:%.+KQL:CCDD\^6%MP
MECQY@<I'%Z7BWP@H5C*6O*#/D*#/#VI&Z,-TJ1>#U.CU]*94Q!=[._4M-T J
M!]&5AKA=@KF'KU=\$.8$1PMYIHZ'X_/#TNUM6=76=+V(\>>"!;[=J0L"B<]A
M_@C ?./<PSG)D&6I>O"8:\JC!&PC@Y0=T2."_HZ#=T'T4LPS?D7F<8X8%#$J
MGI29C"'7 /' CN]7HZI9VXS7QRRNYT,'NBH6)_/DS)C,44T"NF-"DWNLEY:#
MN=TDSOM$6)PWOM 5CVK@Q\,:O";CZD<,.$.,L9K[*^FV]'<8+M-;RKMWW!(#
MF^0%8*BJE1YC$T+%+KXIH>:]<-16FS30(N5D4P*UB"G*0\TQ?:?*XUR/@SBZ
M$$0HCW.AGN=UY%]\"2T_U,1P+ZB$V %ZY]HX]052$/&_!-@PU34"-\TI-3"5
M4X$9NW]2Q^$Q&US*]4R$"B.5;?V?6OJ?IF"U]GQD'<3/4%3YZ)Q8E+-_(&4<
M7?\E8*=)4T; 21CA1GHXN[=YBG3V $+-*17DJ(RMGANWC!H5R:T2]@5()0/X
MAD^WN/=!)^5;\VFK@WVS2O<S^V'4;60J2BK:P90E\\WW@H ^C^F5\KB^&(['
M"D]X:SA>GKD-:#,P]RU^!.8=NQ?1XG?M;5[#^<8I<Z8&)3QM]!PTK4EMNV>1
M82H0(DUIQ%Y"Q\$Y:G:&454\*5<#_02&(#H-#-$H3XL'$/(N-_LJ_81'8\I$
MA?MZH>5HX5 O<R!]YN;.S<Z?*T0:#'%028.3N)/R25R5[8B_C?L>0'=@I;T/
MYIX_L*/^HU=B%!^YM;,RU1RRJ34GCH^&YT<:;"()\A!I3J2D&NL[?_*]-QC@
MC(MEUI"C58A5^HT3;LH,](RSS97?T1#!XWQ.P@AG*_V&C0ABC72>)RDOW47&
M&JFT0<@N87)L9]N6\V(X1F)0>+^?&W.R&"#U'0"=-9HT8ZEOR&I/JI$N]V^>
M-WN'CC-QBY'2P=429V<)[MST]M]DA;GU.$_K<&^P3LO.^;2M* 1I/X)!/ 3\
M_&8\"KS5LI-Q#*QH(#BP:9%65[G5HO"0*U\]5SL_CR^&2O1..DJ"2DE_UDI;
MM.1R69M0J92VJU(H;?)ZF][BJ<%#?0-Y7IX,QQ?%NY<F(*8A'Z0X_ONB/4S%
M DW2;9WY13-#)\LBNJT:OXCQ#*+[)R5>\IL6)=]MK6F1&<87/QX',C-VY:RX
M7%\MBX:(5?PZ"/GF7F6R??X&M-(LC654UBDM.:!G-GT^IPR)ZLOM=^L?GG_E
MH!E-29[(T8*6(&J)@$IG3"N&F(RI/?D/UHJ>:I&S%2VQU18*7.!BYHIJ@)$B
M7Y)D'"6ZJE+N,=3H&R*8Y5<,A.'G@AFI&I.T@OCM<7OI>HZWV$87MJL1PUA+
M*]0TE6]9;S2AV@R4I 'BT98)$1 LX9J.$$H-0]'!2[&@D^Z*-V$[OL_C6S.P
MLOP_\*7BZ -6O71T4.ODN74Z1!],P <_S1)B*U7$PU@AOGY$Q4.NC*'RKZ?1
MC$RIUU9HO5I!C08HE#)4YBQ42LC[I.3.W6J]06-(TYT7V$:W%5CJ:H40.3N1
M]OS0.?UW)M%J14Y\G'.5O$EEK:LE2)J+L[!);<4%+38BC:'QN^?_$67%7R#Y
M4;P9S5HZ=-@P\T0+_2+3MWI/>&6 IZJ6:.K20T_GA/$8BF[C\N,GJJ8E=AJ+
MF@LU9/H-O+U,X4,F-29#HE/^A@X88CP<Z=%U9S:*69+$5)E4XEK/\WDX/!^>
M&8&\+MADX#UK"L<> "FDB%[)5(2UH-ZX^]B4@*4TCVA.NR?/330(ZRNE-:T-
MZ]L- -\3V(U@ .(A'%@\W]GI>'0TNC@]&YV,3B[.1A?:J9D*F#P#[*A#4P9O
ME +;<OX.+)+?4D#+6BJL]F+FL\K:\$K*XU_:H_0!*:[I.W#>P'?/#9<-=IL,
MC7YBLSF;3#G<YV,-GJ73=T\(&I.V/D'(S1U!6X4^8@_US/]V$;6U3_PUX(^@
M/4</$7CK;<18BVECG_CC9X^@B(JV\./VUF':[,+N=;H$/K#F8?5Q9].V\FP;
M#<^/- CK%HDJ\=P1].R4SCI-C-?-0#2U8$,"F[% ]YM.'K<&7K4AIU>MKTZS
MYE>W3TZ+:[SA5V$5JXR6DBKKB99\4'VWK,\78C59?5HB@&OI86*(R9CJZD+L
MV7!\?J$>6VVAP 4N9JZH!IB2"['Z(X)9?H6]4P,N:!%AW+>+#$8BJ#T_C \2
MO1<>:*P)DKJT?.B<D)I*6LU;2(U2F&D"C,9R+$."2J>!T<)9-^7CO,@] ACH
ME?*L&Z/)I\&K) (ATH!Z*6?V:E/LWKGH2S"U/@!2N1_/5A@].>K:T(%1\]SN
MNV$YC6[<QR#J!'U$_PY\U-' S_6DU(VW8P-SI!NE1NHK/AF=GH_/AT=GI<SZ
M;?8K.8F5/6V59?)H/D=30@,/""\'"_L/)AJ)JEZ!CMX->+()E]&4I[BWJ@MK
M)4=V*925+P=YJMT&$N1.=4"1BFLE^P9R9 $!A=+>PP#1!H(0VE<X/;R_I>>^
MJ"J;9PM^3$T#FYU+AF4(L!.JA>^H?DDF[=J)Y;22:A.5SD>9&6Z;';E)L-$E
M<,$<UIJ*^=):2YXN18HN9Z!12D2^G(N3-_,YP.\I[O=)Y2W2)+P%B"#+>4&2
MVJ"6M[G""2<2OE2I!>&=&(&L#EECX)-RU8R[\MP0NAOH+A[7B&-1$L)JGM(W
MOX):-P*G7?!$DX#]%DKR!9?PW..SDR?@VUBDB\:ZL*HMK:#4!20:*$IFOAGH
M(&?B#P('F+BS>S0")Z,)N)0@6Y,'#%=I[).ZBA=]+?J@%GT9BV@!T)<@?7RR
M!6@)+>:8?G*$F*Y!6AC],,O#/2GKNNHC:!8F?8-.")-5J 52L\U\PE,,R_1[
MC;:%V?D[#)=+SYDA5J/?VYN>I/8.&'QR>"<AY[$Z%#Z#<..[4V_WUOW4WX ?
MZZ8@)#3WB4&QK!-TGT^@/4FZ+QI;&'M6HKFULEPDF6N(>(+SB(&DS,V''3U9
MC)_S#"+#.@A*&QPQC1XZ'.4P4-1M02WTXC4 JRB0"W$C"*O-P7:-'3H(Q3(N
M =^Y/N#K9+.2S-)<B70.A] BQ=J*:#HOAN/AQ7&13<;B5SH;$S1?2$'SL&-5
MBG[R@16@(C]<'%>Y<'$V=U0T.?ZJ7..%-'S $)7,Q-0-?R0%H:?:ZMNKR!BZ
M0PM33"2.+HJ"LO]F.9M8/H[CO5O(@&JA>CEZ.6"(=\G1%.^R D/T=8>^+)&X
M+Y&"F.$+<< -DDQ&-@B"O99H[R_EZN<3]1WQ-,6]G).KL;:H?PR7^#',Y"MW
M$45;M <YK=E/3,MA80IA62=9C<SI#H.H6L=)Y;EZ,CP_/AA'A2!FI1"4D\=>
M\=T\PK:AP>V\DYK;>=F>!J'U,7A-^NK)_;QLJB;:#;/3T<G)D9JUD6V'7E-:
M*X7!R_3RY.>A4E!X&E(GT)N]A)8?JKM)0* [=1@$SR#8.#B8Y!8Q^@FKHZ=H
MV/@$U0L@;?$1T?1AH*P]2\RXUD)<9:2!D:OIPP!C>Y:TC2JK?)A,'SBF)U6/
M;L9 JKY>TZ*E/&=/D=%:W(.8 #9N#FCQ CWAG*1&NU=/+/)[:U4G)H*[, 1D
MG;&F;528YIJMS0Z@M^!I0J6@T*QX!W#CYI#0Y0X_<6FXB_MH:G!OYT?E9#N[
M)@=QFTJW[?<@" !@SJE#*OY3S>V+>#CWL?8*;!^NX_A^<GIK2@VM9BL+P\LS
ME)<ZZ<EW C_,R!%]VLL0??CYC(\C*W+LY'[36"[LG-[+JIXV+:12F?VD\*M6
MDJGG:X4,*'2HEL)WZ,+59D640^YW/25!&5M>%O6T].7":YU0K0^Z4+._YQDQ
M'([/BMYPO85:2XL9/KGJI>"^)CEP32VM9-]^T6M#M4DHR6\GIL!?/<[Q^6FM
MR4VKV".LT"5-P@LW\5)7BT9AF02'V/Z.W>/\&?_AW."GDBM#%NHK& B$AD1W
MDC=<H1_B%KJ6:\,XHQ)8H4Z"9^!@E]G4:^^R*$4@E%P67P:[$0R"W1 &?CR&
M0>@-O%T5QQPOAYKX5(E>#JUT1#7#6W@YZE8#!;)\\O'$"+=/CN6&$W=V\\\-
M7./)<[F=HFXI^889:FHL6W9IE>7=E/)>R!U30,TVS%!32[DWE1J'_&LX(%#^
M!//MWG,7D3F:6W+)[U+1RO=+B#6L+QAPW'3KG$OX9>GY(8_4J17RY(^&X_,C
M8\3.3[A)>WVI'B%-@-)^<6]"M1DHR4\*>GA49=D>(8(NSS(JV.F5M5(HW-P_
M@/ I;AQ?RP2/\_SO]]!ZA0[.X\^_LS]EV-FC[@<)<8,W/("!-Q^$2U#<T@^<
M="!&[.W5W+:N<G#N!/QD;1/7#EYQ$<[Q@WS8\_5W8)$>IFC>H,;JI%I<;.[B
M%L1+28.O*\BN-^ !*8_I.W#>P'?/#9=T0X6_N4,!&"OI4IW4:NYCLO('3[GI
MN]<28$DK!X0K&L6"4M7JE/N)BRVH3[H_G*.=/(//AN.Q!LX8B9 BTBSH-@'I
MUOB9]K"Z]3:M3*U,,P<&*B+)4C/'-D(4R;U+HW;J78(G"\ZF2^ #:QX2/+Y\
M3?08(L+(E9#556,=TU*W]!@P0D@5E6TUDU)"-[#\<&>(D_CY13"+DQ9-5OA3
M$^20VC(=1EQTMTVB6GF'3762,P)CF/S-N](&P(2',D'Y1_7*=D=@0'S!DZ14
MZ)7,A06-0%')/Y6[!PFT/WBNW004^WIYMHW[Z)AI1J.</)GZ0*/-JF$2#*C"
M;^W7U2;-6>%\\G< %TMDV4P0/*T%B,]3LM'Y36*.APPGDVG' RON>>"G72<G
MDB'NW(C32#7N^[R@:^5\S*0'ZIO)3Z-SM+P6KY/KI" J+S8)(5GJM14=K,T"
M7ZZ3/1G.(DG/*LO;C.F(8B595J14EZO/+GCTU8&+^,X/]_IR5D[#@9O]@A>,
M@;=ON,W:41<CO.^%L"C4%?^IYA#NR0M"L%H[7N2)2[.^%+=($W=6NV%HT%(>
MU1?#\=FYX@?(:P14GLBBJ-8Y)OH[1+P+O'EX#VT<JA=DN%.%<EKY'HN\&6U:
MA+,2!#N--B%E^JN$2BJ;(_KTJ'<"Y:)+5!1&JP,)@C 35?/D^7A0CW-&N3)4
MZ[N(FY*H<[+%_7+"*W"VFGV7>0LJ!44PM'7OD2S.\KH3GW8]65M\,V/BNAO+
M<8I>/*ZZ?1=^*SIE12ATN:NZ\E8K&$9GZ\CTC-]P0$5MV"!CP+B\N\HT/[#<
MV2#7@5(/'8UP5K<=5QL(0N.CX?GH:'0Q&HY'P]&IHJL&,$R@_HQ0Y+\10T^*
MY?)SX%B/FZGM15 10L!$N2:W @C*/\T7'3VPF;V E9)6I?5K*QD/@19LT&+[
MUEX[>$&P9^%V8ML^6@ GX97E^UOT9705C:0Q6.H:#Z'VW) 0P=^Y7?$2>O8?
MC^O8HG)G2)&&/K1#,(M^^.'",(C^JGB/+[KDR6U\G)>-CZB#03*(R/S8#R/Y
M,1I(6O1+-)A!=C2#9#A*397,">P\.[@DU=.5%R!FXL<-7_'XTU#)&MNE7:-X
M#AR?7YR/$& 1X(Z'IVI>:+JUH!]-)&2M^O#-PJ^2!9>6@Y\N?5D"$-[C;A%9
ME]M]@31G',YB<+G]#<P6:#HB10\7KE674DE>AWE5<()403&&78%BE("2LJ;L
MF*<4PTWM-2><9N/!6E&S/V6*: F8CF59<<Q2QR%!=KNCS$1+*:2GB\H5TA(J
MM9(B"Y="E?QL3S@+3IP3)R G^RD5R@_V% U6@U $!GX6]D9L=&EQ1MG>[MIK
ML)U:NZ_)WD.MHR4&E&ML?I:9L=7.;)'P?*)G_JDNK"6@^.59Q@0'N6;HFN@A
M[Q?@H#87WX +?,M!V^;); 5=B(UIS,Z:W%#L+1@+F[8\,$2QX U9R;%"4BR5
MA8U%" >YLD(X='/#;58KR]\^SC-E)_AY]R:IQ<[+2<-YO'#Q4'"BL6RM03H<
M<[QPV5?X6OI83D^+1^X=:1E["68;!PVZ>DY-?!^_$Q,-]G*[+Y,0,'FW_!G-
MTR:L_?SDQADHB^X=1<\OBA!\A8:3RK?>>T]BE7*'%-@'?B7A+@@V:+6.M[7Q
M?RGN-[;*><:-]/"VR(5%A2G6G%4Z)6RGD5&;LYVMLI9P:2$^/BS4\$$G+-Q$
MT?L@:U15.@!KR_=.XC5"*DN<CW0SMO"MCF\T 4'7JT0M0P3MR/M[6C-$O!MK
M@(Q:27&=UJ14J38G2===WKWITML$:+<Z74(_!,"--!FFB'SF4U]+:\E2Q%0X
M!&I(J!9JGD'B[XAAVT<7Q&M?5OVQRY^EC3R31GK<3FZ'AL9DF^QYS2R:I#6S
M[EBQ?<-:@JUK<T,2&V4%;/8$O(EO]W$3!B%2 M!=/&PHVR+A_>@);3E0$XAI
M+G8*6KO7P(?>["6T_+"_0/^&"H;!G?L4$2,)Y?E./B$NF9>"[ _EF=HB.SSR
MW<RN-SZ:TS'-$7N"[&G@S0?P;1@ (GZY&SIPC(KA5UM30LNDLVWG[ZWGSP$,
M-XB3^!7"CS7TX[NZDG5P;;\'#GDE[&V;:Z%RAO1P4NAD;BL\4.\=ZAGY*2BW
M1&QPW[@]!GJR8.)MOE2@E_KYU.[RV2DHAX9ZN[LEM_X& IS6,5H& 0Z-FWKX
MJZZ4/&OW>1F>#<?G18OR<TI(XK*H)TZ,<3(6<J&F^ZHG']K$F,)N>O^<):J8
MW/;-%J*;4O7=X.;G(P6WPVYS)6/Z"!W$YRQ2S&LI[][H.'?:^BD4K$2MQO0Y
ML_1BO3%/"!VJ=??I_^J(RZ)>5"JZQ;0W[]B=+0HF#F/OG\N.*B8+>XNJW\Z#
M>O^+@LG3;E"?<THSWJ=3360PH!;G]Z_U;'[E7O)W3V*E"64VEH.S=Y_0)ENW
M(\E+>3P<7VB0L+3;&:8!P]-IU?:)!3VV2"T82C8#2 PE/<^G8"2?<TD'AJ=S
M2?6[%<KG$O?RW_44$S? SYFGL1S2"7GP41 9AMXAOD$W@#8MX[RT_CZG2W=L
M3='?-K)!#_2+6=_S;.O @BMT^(G_#OF:3H"V40O:N0RD>F8FBX4?Q7!WLE(T
M'L_G3-*'[>E$DQ#1H&M2QXH?6R1W/!63W+&RS,#ZS/)(;/CG\/CDZ+@8?OZ9
MZ#'7?G[.GZL]"Y$@^PKU*I5UJI/S5",W\,,,:M&G/6+1AY]3K+ >YW=H<7B#
M,_SB5CD=%[&<5@CJ1LA[4/%QQ0QP_ [#930+\?JUA.NI=^.&>&VLRM;5H 6M
M ,4GX!I@-*!;-63(#V2GZ0K)N9U*A?27; ,)[67.0;06:;U:6SFQFD0=4-(W
MYLIH!8"NUPIVCO0^@6-S1NZ9X\Z8TD#*Z$I+F-;#1N2%"$[FJ%ZF6B.VRB'P
M_/*#FJN86B?/IHOA^$(##'6&AS(4^9EEQAK9)L.Q-K#I>(6L98B@Y($]SG"L
M"3)J)446+H4JU:N)O$<L=9,;10B%?0T;76;H[/9'/:)/U AG2)J@J>OU01(;
MVV;)ZCEXXQE^YR([;1.)*GH9<+JTW.2LZL%SWZ*S13EI57C[UW,JR(&FP#D@
MA,W24MON8S!.#9L]<C/@<G;_.7>4<?G L_;7LC .7U$V3_+=?\X395S^S.K+
MQ=$DPX;"F5,:P>?D4<GH@\_YV^O]S.AH.!X;&/6JV7XF9;.DS,'F[F9V3"U<
MXHH,X&ND,7:OS:N;5K5#^YQQ6DI 4'YCFG-A:-ATS.\[]9N3G./[G)CZBN'
M<RIS;FWUFXJ<X_N<BOJ*05#F9F.G8B;KJ'[SD&=PGY-04QD(2O=L[ PT=9MH
M8/+:ONT3C\7E@":[;=)]HF97E2>S&8Q)O7/GGK^*NFUP-WG8XF[R?@R#S"#,
MN8@LZ"+JV>GX:'@^.AI=C$;'8_17<>7^O)"<:S\_TX_13#]3KVLE8*!"STIE
MH>J8VM8(CI72'5)F'SBE1?1LK!_$:TS\7TJ(/5ME+;$G%Q9E&+9@%05C:H_=
M:33A2RW4,'RVREIBIX4L^8!1PP<B,!1@(;V=FS&SJ+>\B.5[)_$:(94ESD>Z
M&;'_[>XTZP*#KA>->HY0PAXU#\GJT5UE7>!7#X<&;@91S-%I,9)[[5@7.'0F
MVC*J^)DE:!G3([-J#RZQ:0/2CI=,26P4=#6ZKR<2Y6S*4M\ IS]#/3J)<WPJ
MA[8<J G$-!<[)6PT5+]EM]MI ?\-VJ":C[OCDHAEP=0++2?[.W9#/GCAWT'X
M#&QOX<)_ =(M &G]'3;^NV6KH)MD>4ME/Q.*:W+/9T(<:'/K^<E7N!PI27RW
M@_B<,XIY+<MFZO+4&'/#!TO$$/@&[KT@0%0[5A# .;3C=(:W2+X3V]ZL-M&A
M57087ZK%?8A\<71</$3.-3I 7^/CXM)P!AAO VL_H(&'1S2PR[55GBGGB+ES
MT>C  P@?YU/KH^;@F*FF"@\G#0/Q.#$2:*>]/$UHJ=TXI)IS<[:E6^PIK&JK
M]07)+%H+XO,%S W/C4Z^R;YS:ATML=):Z!7[)&XF:'NT6J" ZO^N+*NES/D%
M5&'8,%.KDT<Z@_9K,$>VW.P2N.B/,$K]-9G]8Q.$F#%4%S5?(WF>G.IQ3YQ=
M>M1EHBGYAARF[AGQ#;$/JTFTS%Y9P?+6\=Y_ [,%>(HDP8HFEE9,AE-C^LW(
M.I/AQ!1M1(,X43N_4J)4-AD]O&2;<9; 8+^QXH9>WV3H-*#<C'2*C-9_W:$I
M;S-:8DG"3D@(7Z0XPI7LISW[CZ7GS'8A>\1-=+%@G_%"%V[5[IF)^@YR5*I)
M(T'CY268>SXH.5M3YQ8IQ+EYBX<$/-%LDF"4[['9Z)X1(?-Y=-XB#G9"VCP$
MX,ECE 33?@\]-6]N%AE0>]X5<_!JXV.IQJ>%-7I29!>'@-_.^"9AKZ%ZE1=F
M# Z'X_-B^CESH,5(O?0$?TINBH,%]N \@[7GA_A=;W=VY;DV^LJ/EX"DP"0(
M0,A]M']\5#[:3QH<^&F7T1UQ.]=III@5=:ST_+[$H_IGITE5?@[/+U1?WBX,
M+7/S_G*;_,AX39NU):V4";N8*C2%(-I[?Y-Z=[AYN0F0M@U2-<%T;%]51RN(
MB!8WY?2>F1<Z'? F@Z5?5,N6T5.ZW#*HD&,ME0+E1MA97\\H;XGM?M13!+7L
M*VQDZ>1H<>)-D-++%OT7?) EE2M@AK3J2=+$[4Z0V60!'629DV66*V"&S.I)
M,N-(E[*BUQW$L53-<VZDQ_O/$NV9IBR1? %%34!CO%DF'>-&/^J)CZ92K#B4
M)5.IQ2K=6L;?/&_V#AV'(.7T9]/E3*535L287@XRN' CK[0;QB[(W;ZB@;?L
MI(FW#)7:CV$ HT$,@G04?7"=U?IC%%U.T,=IIJGFR I(@KM,[(IAK+M,%W (
M$G<K=YDQD&GG8],%$MR"X_*Q:2)L@8XY7>16RW,VQYQ.)K\$QUQ?I55/DKF.
MN;.>RJR>I$_''/>^5A<PR+.<FK)$$P4@(*3O#;@;@,/%T+X]VJS\#L/EU28(
MT3;9O_FPG0U.%H4=5NA_,UKD'G=+>H*M*23*Z!+%$@/3<5U#']CAXQI@)XV[
MB/+[$X!55=1TY##3+/F 0 TXOOE>$#SYWAR2/&&9$J9#H8Y4468-CH'71/XO
MP$'-+;X!%^'?F;BSR6P%71A$'MTW</.!LU(1?8E,E4U'30LN"(KTUDNE[%3I
M/@Z:=%.K7-)TL+"2+"C$6R=5<^<BJP@$R=E4,BT>/-=+6?( 2&L02U73D=.8
M!VU?(+^(H>2"!;[NH V8TNF3FOS0W2 F)//+<Y.+9'$Y9.V#X.8#:63$#.A:
M_C;B/.*>C3<+7J3 4P83,2BM1_.AVRWK1+WJ356>6AW])]O?X'+[#7@+WUHO
MH?T,%I#_(<5C1'[#BS+I( :OV\%B-PQ4"X_#A,/_0S_Z'Z/II<-CL372%'KP
MG]#<@UR7@1]F\(0^[;&$/NP/0/<: NU6RJ?^U+)ZXD&0C/?HX>>!]$LQ==*-
MB<N.M?+ GEI6*^GRRZ @/RXJ9<DO /:O"^_MJ^UMT%*YC468?-A+,/GBYX^7
M@KCV/^@G&R[^[F530Y(6!_0M1'@U(8CP:F*<" DDZ9>>D4^$WRX)(OQV:9P(
M"20)\G0+/7/E$^+#/4&(#_?&"9% DA3OLK#(F2AOQI,/71NN+<?9WFQ\;UV=
MO+*V?)[\\_Y*M!FE@IS%RB,D.@VX48P2>9N7UBSY#+@1'G"C"]B:0D)"P,VY
M-'M?<U_MO><N[N$;F,4W$X6X;(<-7;9X+%\</)@TO=&G[U:*[S;UC>/Y<H-$
MZ2.,IW,E0! I@(+-C=NDT5[H)3:/KC#R/YV[%4XU7: A7MR-_+QU4.FOGU>'
M[1*7#!KY>27+3Y*?5P?9</&WWL\KS^[3T\][,1Q?*'P$3(0("20=C)_7 !$2
M2.J_G_?I-X(0GWXS3H@$DC3Q\[80XMT#08AW#\8)D4"2J(!?5<KT_J\$$=[_
MU3@1$DAJ&V@K<QX&X=J/)8C_RNPIT*>?=\6SLN1;8P1'HT=0L*A"[7E]0YAZ
MUS?&2+"&I$2(YSJF=;CU?  7[E5$ 0243!S5)8V1(2^-B5 O=)J9+<ZA6!U7
M]S5'G4V;TPI'G;CWI'!,OUUO$TSBVQ3Q@S34%*'%8CF.G!T-Q^-S]1@2*MXR
M>IAX(,B=5:&KM#J[;' T.6IT--F#$T>FYSM&PT-/&*E:2["+B7;6V(YVU6GA
M&ATU?;?^X?E[/5I]F%@NI)7P10LR?_3$2+SJ,\,':X4(SPV6>&9(+*N56#F8
MGY<8'WGR7TQ)=T/)6.JWAKF"VLF$C[V$G6$]B5J<'9+"FEUPY4#$(THD<[Z(
M65)D(4[J4\&-["W24\'O7ITP"T7R]!ZC/47QE;T^"9.%."UR/1+D5R<\<R7'
M*C8YC\QV%_CV;+D+0+!-=[]I)5JY)BF=9D&*M]M]2$12Y1PN_*J5F.N%42&X
M^OG:LRTD=.%JLR(*+_>[GN*CC*VP&:RE10NSM;5G*><0?(;!'Y?;2^#:RY7E
M_T%Y1**NFE;2EZ>C6[&#:&II 8-T^-2'(NJJ:0F#1L)BD3D#[5J]MFLY($TU
M]0"J[6IJV9Y(ET$L%;YB9H+-6 <F=A23@4BV 7S#JH^*!U)QDR'!1;,9Y\H5
MJG**NN,S#-(:>3Z=(#[I\(YMES8!E1/$+;P.<L<CY[,$]C6TE#NO=!CD6T.Q
M3DM_ZH$JT4!5^C6U^B'G&BE5R+D!U1K;!)U?/=4%"7(\='P\$'0MH%NWC_A+
MJJHAP2^X@M"YJ-3*UR?G9JL6 N42REZ@-21IK,KY D1_5(>J5Y0P1K2LM)FQ
M6>LRWY9J5,C?OC5FB8[WQAJIC V>+SB2'W, <RY]8Y>D08@5\GPZ'9Z?'&D
MG:8"KM O?)1+39)5G)0=OQ)T#ZP /,/%,GR<_PA %&-/P NUCNF0X2>^-V%6
MZ6R(@U:J G7R)4P5-2NI$D*N5+_G4_*5/ $??V$MP#%!&]"JF(J0QK1+"/?J
M_'92_#P0HO1EB7C-?17I^.BX>!4I;G& FAQ$;2J]=G1C^2Y"19 2R'#MB%3E
MY^A,S:K^ ,+:5_]R9?)@'0['YPKW".RLK;#H:JDRPR_P.\"6!YA-T'8#:9MT
MM8IX%#QNPB"T7)SW]=(*H$U  %<;QB"D/=6F)&9&$\6//*F6<^6M5IX;\V 2
MACY\W43;H:D7?8=X 69/UA87GO@^#LBC;2C;-VP,VB2Q0L>$80+5V#5T-NC;
MTISD4V2D5HP!EPBZ15FDF4<:%5NDD]D,QD1D+/L&9NI)K9GZ9;#O:P#WG9EC
MOXX;V:\$_\+>YUOL,%IK)^XL06[5/?@&+?1PGH_+C@@!-&MUD-DHR-$-X0Q3
M"=_ "[ W/IIT^'%:_+@!F,6/'ZS6FUB0%8S:5C= "8>3V*-6L!0%L?+BU#4'
M=0K3JAXZODE(C<6KJZ85<E3)F15I-6S3"2XWJ[7C;0%X"3W[C\=H)-0C?V+Y
M'@&D1CQE*?,1;8:79_)N^;.:P.U<F3PO1H@7"I/+25Q;:FG6\XHM3U#(SB>
MU2=P@T1B>\? Y;;L-\!\V3/'G3TYEEN[[,CH2BL@LL.F(IRD*^;TWDB7M(II
M@IW.<-!XY1.+(\4KWS- 6V)H8S<6IOJ'"\/@^>4'%5#4.I^@*B9CY666*<<>
M+3<L]S4AF:*:UPJPVKH)Z.S2(BG2X9S3::)5I4)*_A&?V'4\KVY5QY>U%,UD
MA>]\R%&\<=N?@);)2"DFQ![3)PK.'J^!#]\LS*I S,'C23D^+M-'_LSQ3I,S
MQ_T [UQD5FXBK8;L@=_ ;('S.]OHIPA$>[)JW@]NT2)"WOAH>#XZ&EV,1J/3
MH^/A4(FNVY/PX,7RHJHO4O'\1#H;CB_.U&LDT>(I*R$N=LC:\RI2)+<6]/]F
M.1MD:5<RNH%.*04SY'4*[G'PAKL<>//!;/?; .Y[_=0PE1 >7HR.CXK)<KIA
MR@XG04::EY9CN39X60(0WN-NHXMT^P)7GAL1@9T'E]N$VFL0P(4;E:4]0B"O
M0Z.U7 J1LI;KF*&]]S%7L89R-D8JKB7:.L9"&8Q<W-+I_+QJX-03+W(%+9'!
M)1@VN5*HU4FR$]OV-T@K0>L5.I&JK<MN5UF\-U*EB*5BG\Y#K1G'0E4K,KYW
M1UD#:%6TQ(7R=8";8T2WCE*$9%E"70UH5;1$"+> :#)FI%FG52%YHN;FPUYB
M'SKZB$]#J2L#K4J>WC&BM^@<5RIC1@%5;"YX:9;W>F*W^"BK/\KZ4%U82TPH
M7QDX>$4Y>BVZZU6#@[HXD(IK"1 .^; (ET*I3LM!.F+\LFQ"Q'Y=I*X*##5[
M(F>*J*H6_V9DF[:'V#O:[VN">JAUM(2(\K6"GV6RDJ.HWZ*F3F,09#;K#<XE
M<O6UA!V_U-GVG^P<Z"AN1M'18#I#@ZP.O[*"Y:WCO<<,:G Z>$H_'=QU.ICM
M>AU8P<!&_0[FJ./!,NK9D!/"[%7=-D= HXMB[%!'.?W")<YZOD((7 (WB,:>
MIL3)0>4;,AGPEY=@CK:*S\!VK"" <YAXF-W9U/H@:"FA?6BER81*OZS<Y#/.
ME%U\D60<>#:Q[<UJXV %1&+DU<;'HGU"HO-F,?/(,!;:1UX:Y\/Q^=A8&,MG
MG+SK!ETNW=CV>9Q?H='"D'MA/BV' N+V!H_S0=RBT@4W2]JM96.;;%L3<T.K
M\E--1'+5D&@A,,3R6LU^5H:7)S8??;T/*"FPAO(^5JE@;P1.%E]9_(QD&B9W
M^@M9%46UE#VC[.J$3J&P]V)_!F^>\X9LGCS)-==**75Z  2*/*OL.EYBS7 *
M5^G-.J<PM8Z6P&B[.O!3;,8++55T?[<^\$/CEY[O>^]XPEAK]$NXY0 +J8G>
M8(<N>S;\<#%!Z@L<(M]2X*'T9?/Z#V"'4V^R7OO>F^4\SN_QGK"X((EK.,_;
MB_X#3#)K>O.$1Q4+]F\2/,YO'+B 2-^G3R)?>6X $6U@=NOYUP -< 7=Y%[G
MCF?XVC(K%(5T=CCPE,<N_1XG:0G9'^XK=!PPZQ2ZC3L]; B+99N$N  U4)XX
MCA(TB^CW, $MC7."'A16C^F4/4FP<:?:N6F?AXEE*5P3]&BF>AQG9GJ74!;0
M[6&B61;C$D"/>PGH.$5&IV 6V.7A %DVTQ(0G_<2Q(U@>*! 8H;"12^A<.6]
M ==RPRF"?S!%U8.EY\R^0Q?[])[!/S<03Q#X 6972\M? %P>OX3TC 7+"IU6
MG1P.U,2S*77F'^F#30%1R*_A/L@.YT4-7A UUNS1_9OE0WS6AAA"?$R7M7J.
MG^,CQ,]B!J*>P4X( U) :70\)!A0*0_N7#1&$(28%_BRS@V.(@RP'7'CHH+Q
M@\1,&.-J44O8M8),'0+;LT=LS(RDBRA1AP&P?UUX;U^!/8O[O(MMT*EOX><#
MJQ(*U\2PCH;#4?D5O:C10=+J(-\L(BDA"/_G%5DU?_G_4$L#!!0    ( "*.
MJ%J.@.KY5#<" &GJ'  5    :6YO9"TR,#(U,#,S,7@Q,'$N:'1M[+UI=ZK*
M]B_\_GX*GYQ[_V?O<9=9-(*8M?>Z Q7['K')&T8))2((2J/BIW\*U$03DY@L
M3=!PFBR;LJB:7?WFK%FS_OE_RXD>FT/+5DWCW__BM]A_8]"03%DUE'__R_*9
M8O&__^_W__KG_XO'8VHOW:K$9%-R)]!P8I(%@0/EV$)U1G>QMCF= B-6A9:E
MZGHL;:FR C<_P;%;]#_T)Q:/;_I* QO]U#3NMDUVO\QL>O:_IGXF?Q(80:%.
M[BC\#DO&&M7'ENL?5]2!!2QO.XT[U!MVF\*3J5LR@5-/6_/0FJL2C)7,0:R8
MO8MA,LVD2$#'4PQ(Q!/)(1T'9 +$(8YC%$6F9#"$ZSY&#J(5HI=AW]G.U/KW
M9N0XT[N?/Y<#2[^UH72KF/.?_C?^B!,WFZ:N'5< F#ZT'@)[<&M:RL_-%WN-
M5<.4'UHN%HM;U4"?  ?$5=M4H'$KF9. 'AA)XML?Z:JA[?TH&)#_" +#R)_^
MUP-$[VUSR70-Q_(.#W_SY=Z@EK:ZU_V"W':._^Q5*[PT@A,T0,-V@"$]/,;O
M5G;VG[+Y&?5S_>7#K)=.' U@[R'; :D&&C_T.??3L8!A#TUK AS$9M013L4Q
M)OY("-MRGI,9?;A/XN5+M,+)G:=MFUMP^")MZ9_HV]WYJJ^PX2E]9*@>9@'Z
M8G_ MID@\.1K7:];;'YPB%=X*I7ZN?0%>-LKE.3#CT=?['/_F7CM]>E_^R@H
M'Y 3Q/S#4WN-\P01QX@X3N\)FWI0V.BUL*DWO_\902#__F<"'1"33,-!5NS?
M&P<NG9]KPO@_CL.9J\[_O=E\'W>\*;SY^?L?1W5T^+M8J]6S;)O]G__@-/:K
M6,O<BE5@2:,8B?^(^6KYS\]UPW]^KI\U,&7O]S^R.H_9CJ?#?V\FP%)4(^Z8
MTSL2FSJ_T*A^HJ_WVLBJ/=6!=V>8!O0;J,L[OS=HK5^JL@R-X"5J4$/&V%*E
M]7R63LN7UJQK!702<?1??U1BVQ1)D=R\F3)EDE$6Q06G.@FHPKZ9'K47-S$#
M3/R'0_6.,] LO R:OP7THB'#91EZ-S$524Q;$B773+<TMK(25+XBC)>IDDS-
M%)$0\9O?&/I/"B-I"O_GY]X SSK>C&M9:+ YU9: WH? X@PYBY:0AR&+A0$^
M8FQ3UB8]P3&8D4D86A,] PTY'L<)9$,^<[S9S1KZ.. <^L1^&&Y]@KFXEUZ8
M6";O\)11+!J 6X@)?[AK*?NJL3;0 TQY?[1][[YE" K+8VI],$\N[/2XWF5%
MRA]M\U/IRJ*!RL%@=: \C(^I,GAB2(Q*6F:>:3#._4S*QUF1%HF;WT.@V_"%
M(>8L(/G#B;F&NAZ@@%Z(/+)>,K!D4>"S(C=C+;)5G3>Y":MDM8QN]?IE].BE
M?6>H.K(NEHND<'>2K"W6ASNS\DS6H%7";F(3W.;%"B/9G7%S.ZL-1KC+F).)
MZOA3LUE#SJ#^$$!#0$V%&SX4 JL@]D;22#?HHB:X>&LTKRX<R#:;OI'9G]-G
MS!$G-I-,B%4&H:E>C4AK9;%'5F9)QF:JRD<G*1,S+$=* ' NIA7'W4FJW++9
MKYGD>QG90(@!860H\XXI:1V@NW!O;IU9+EM.#SN8YE&PVU\8'%45E MAX%N3
MNY>&:,THN#-LIK3[B5JCT1[(KS#ND)%X2G8$[\060'+"+E4[>%=5#77B3JIP
M,H"6N!F;V+#,*;0<KZ$#PT'BQ:%U?NK+6MIKHS4^^/6V+6\.G06P8!;.H6X&
MK3:]J15)ZEIR"M- T4[&!^D9EY:>T2&'1N# BCJ'<M% G%#4@0Y9VX:.8,.A
MJU?4X3YA1AF,S+O+:96CB6$+M[,,#=)(;1MD_QWV\[VD@0Q63)MDNR',"FVW
MHLOTB&JR3R=3@6C@L(Z(!WQ]K$#D2K2A-:D/?0WU.;8W%5.G<^FYU)Q@]2%&
M*-5JKZT5WSV5-Y:"+:.0IRBK3@Y(JHX RQX/6W!NZG,TX/TVFZD+9",]&++X
M5*O?+Q?S:;?FRN2SJ6?AP"DBN&H%*V '6"I C$0LA1:TG19"&+[H<$N$%&V?
MQ9SA3R48^!Y-VND146AY@SGF-KVQ1RMYE<(6-[]?\PC_PT/)14.O(Z_64)41
M6H -!)O1A/SG(@FUUE-Y1M2?^Q@Q4$ED1*']^Q\?J]_9 0Q'5(X%V/W.1[C_
MWMCJ9*K[F#SX;!1X/;XS&M\ZF[=+6_:!\,\G?09O;=.U@G>!$W2WX61 @B,Y
MB0R6 WTJ^WJ)L*<YF2+TZZ\$NTSU5PC3"*S+AI%VSV@:ECU."E[+ZQ>Z&94O
M&HBTFY'  ,ENWZFR_WZH0BL64 $>]#@SQ?(^D'WZXVUW-E3\$:_?RNAARZFN
M2NK&5L1D=>++A6D\"M2KL[SYO;L0[DWSGY\''_%[.[:'D?P\-.UI -H>1NT
MR_'1<0 EXQB._O?0S\-W#_23=YJ2 4[>_V;[?ON0GWLB<$@BGIJI]XE VT(&
MR+6\@#IK0FU$P=#%E*!EL!5'C! T;+AV)MEC+UP47ISN*45B[9([![B\_>:S
MN=Q"/CIR_F4.(.-G*/9V,>_/4L/TB@':I-&D\V,BY71IY<)9?'BNU\W?FFGX
MG5FFCM8;9;NB;KC<'Z/NR%X5<A.9Z>:3;EG2AI?.Y==F?-V\9F6$OQ#)@-X
M*@+$&3!5':!O%_!)FY*;PUE)\W(&5FUB$ Y&EVZU7YWR97![Q_D[U0(M>H-[
MMT'+<RROC(%VKR66LG/IK/[L!3JQ#5=^,9M?6*'O9P)<<&2B)\QR2RWI0EW%
MFI>.QS]UA0X+@U]=HB5N DV;U:K<)#^UY$H?-"2Z>>%L_H(E.BS,?GV-SHFN
M+N8L+L6Y2PW7='GF-O.7#LB^8HT^,;O)DR_1BMET,<_4&QK0EU.\75D1Z>ZE
M<_KSE^BSX.X3K= E?31H#D:JPM$]?CEI+4&K[EPZBS]YA0X%?U]=H-O)"D:,
MIQ@AE,E))S=.8MD^=>DX[$L6Z%#P^O7UN<+JQ9Q%,4#P6.C-2=:9C4N7[EA]
MS?I\'A^:/-D"C56L9%DOWK>PKI1)9<=U4N[JE\[JSUZ@R3.A[O>R^845>MA(
MU2JDV4]BGK+4RFD/MM/3:(6^0 :_ND1SZ9(D2[96T.) =_15!;/E>K1$7RRS
M7U^CAU7:$,#*27.3GETT\ H_'9.7;KB_8HT^,;L_O*LA2>[$U?V#"FT_.UD/
MLAQ8>>S:SD["D#M'XM1C3(TKUR<EA[4]E;EXA_JXN5_&/L<)^%]W1M#RFUEP
MY%-T#HO("$[@1@2R^9)ENQQ;ULKY.E/*+A.8R5VZG3]Z^M]&"O((WE1,VZY!
M)P/L44XW%P4H*[ !K$=SD&EI^7CGGNAIWH#+)+&94!0SEQXW?R<1OHU$9.'0
M1[QI:* 7CI]X:C];'\:$JY*3Y P*$S';:)!9M3@QKFA].((&ER$/']]:.0XH
M./$53;$:6<2@3!:2NMN0DKDKL@R?#Q1"L[=V-%)8D>7B2IN")@>)^,).5&%Y
ME+UX'^&+D4((Q> HJ%!>&8T^9W,=K+NHS286*'K,\HI6AB^$"B$4B6.P E/-
MM&:+HM,3)E*N"ENK5B_-7Y$C\758(23[\D="A44KT2BQ_+RAP8$E>SJ=F2?*
M5R0'7P$5PK'+=S12,/K PIVAM]0(:TP+JWEUGJY=T>+P14@A;%)P%%  VM++
M+(%8TLK=0;'NF,UR\OZ*9.%+@4+8).(8G#"7[2;?(KV9!KSZBN]A+2IG7Y$K
M^94X(1SY 4<"A8I9F2045<AQ95;-E<0^EV# %5F&SP<*H=EK/!HIV*V1+&'W
M1@N;)>X+XPJUTOG6%8'%+T$*(12#HZ""QY#./;&HCKDN9F-X;B&,.X,K6AF^
M$"J$4"2.P0I2?9++RRV.YU1*T$BM"PTK>T5+Q-=AA9#D*3POF:#E:C9(PK&"
M=;69I%6R0VG8N726G[5D0@AWE9ZS-=/)JWA)5!-8'>I:IS;IL9X8L?6B H#/
MN2K-E/(J93)0F(VK+#^32%P>1%R]+'?M.5O;L)EE5<]L:Y-)S1N;E;YH*I<.
MQ#Z+K2=;69_6)DKXM8D.F.3ZU&\5%,)$3J=9M&T76O::&.N_>^SF)E/=]" ,
M*+'^[38;<-/"QR$U,%D7YO+++(GMA=D>F:X-#+F]0'3PZ@9\I#9B2#!0_W>;
MKF9XCY#3UC(K3'J6?$])7M[HA=:O.XZ"CZ+T(@E?%*FCA[)+^YO?/O'OWDO\
M4\JUO5N.*7%\.:8G*];'RS&%5 E&JN5 N+8F.V*?%8I&7F\)C$97;9C)9XA&
M+[Q[7Y<C]H?)?=6"3NX).AEJ:U\Q.H6FDY%37(8@ :W,BM-Y>'.(+T?LO]3:
MD\<K 7GE2O""M:\9PVDF7B4<(9ZZ3XD</Q&I<6AA\N6(_2=;^Z\0]!?C*V$T
M[ZS%#KM3O=+CZD.R3X"X/%&M2,XOSKQ_:HYA.$RTX%ARMY2KD0(A&KFL7:\T
M"UB$3"[ 1'^"L(8;5$],4)I@%<L0Z&H59#HI+X>50AM;O1S1_4*K>_Y=V'!8
MW7R]I<'B,%\7,B6^V#?9?@L,(JM[65;W;''L%VKLA]$&CWIQ6BK1-4=3[<1*
MT+L,5H<1\KTX&VQ_]:T"X=2!%\QWEZVV!H1FM[%,GFQPR8%I#<.[5W\Y4O_)
M<8TPR'EB5\[#'>48\3UWR0W$JI;GB'8=JS4+1C.2^LNV]>_:R;EJ'7C!UFO3
M.:$J]].NY@$;<Q9MD**+$52_-%O_%7+^4N9G&(U[P9!$,RZ/$UQY.FBGC7YG
MAG<B,;\XX_Z9%77"8:"Q?M^3;7E1T#+M%$O4G2I(\Y$+>@$&^ORR&FY S5C,
MM#N(LW7!*SD)K\<GA$0J M27;'//?N(X'#8W16;2*I_)<H)G%PBSS^9<10MM
MI:/+D=Q/WC4\,SY@%\"2G]W.W(*V8ZF2L[EFVK_OVF[QPIMBN>94< 1LTS8G
M*DS",\LSS95K^;0DS\AB/[0K_QXU=@MKOT*.LPC<,T)>QII^((7BW *F=SHY
M/5&G;($NI,3T &J85XH$+"P"=O937^>6+T.;CI;8*,=@\2042\I]J3Z,A];I
M_H;R=>[S9^<6L%&]4M)2C6I%FVACK<!R@@VQT'H8WT[ /BN#P+8<L:TZ.JP/
M$0I6YZKL OU1;FJFL86\3V3LW/+I#IEX%EL4+:Y;;WFC;!\F^/ =CT7DNSM(
MOHVX/*/?GPOE]U"%T.W&OI!U<&XU2.",6>; J,OE$V7-JI1:^02(<$ DFT?L
MDIY;-IO-##XO,QRK@7*BD*C->@VY&#H3_8UE,PP[^ ?PQD/1@3PT%0M,1ZJT
MBSF"NE\-2S4D=0ITW>-<RYQNX8?38.ZI8:M,8),1G;'K]Y#26J$++_JPX,59
M;L3@M6E>M;5ZET1(IFLXEB<*O%AAT@,B,]5=K3['YK8'ZC4F&;J0RQNLW\SG
M3N C'C_E<:TB=C,Y(CU.WB>P##F!VKU2:SK&I?*X5HEX_)3'^;0XQ63/3<_K
M#E<V&#<[J1=*]V[H(.V1/,ZG(QX_Y7&&%35+*E>:]T-/ 'IWKG1[AD"(E[9,
M;WF<8:^:QT^\AS]%:'J[TW;2>E/0@,OE!:%>R4OS2S/A7X?0PH#9WR41.PBM
M;JDP5>Y--8QHU5JFK)=R*>52+?L9$=K%\A@AM(X\H:=D<I'4"*E.E/-E!9L-
M+Y7'9T1H%\MCA- *PH( <!K/"K"4:W;)[*(27UTJC\^(T"Z6QPBA9>-Y;D!X
MJ1Q65^&0Q!AQVEE<VC+]"0@M3*<#&C[^L-:Q0X<U9#^2./6GE?:>A7EY<^@L
M@ 6S< YU,VBU 6A+S>7L80LK87#6SD@>6Z_H1NBP^4, ]>TY/P9S7YSTF79I
MSYY'_QZ.%PW46H*VW8(V!)8T0NV?<Y\DTGPZH8$X1\_):7ID%!9N+W1Z_R'N
M'T6 RY"$ QEMIU%^,FD0$V-I-[@9+[%U7:B.4_1UL/^SE?_\=:!.K_U0FBXA
M6:HDN4D92V/T>#[HL]=A^[]2^T\F"D=F'1RS.UNH#*E4?5%L"6J75E@JU:<J
M9'A9'>WA']S#/X;3 ^R^P1H9Q=4RGLQV5JX[GV<B3H<%S1^KTT<8^T  ^)%I
M.6UH3>JH/>K94"H0V-OPJZ?CDQ3?G,2Y"6A/1VVCA=G=\ K#,18^D)%79WW5
MEN%/Y:5B&LJ+XI(:SAF2LN<RIE9K]C3?PUJT%MH<GN/%Y;5)7[6TO+2.G,:Z
M-+N=-*74E9F@CE@^,T_4BB 5NLC@I5B7,*Q&?RHOKUJ7L363JD,5D[E,[MZ
MRX4QHKC(NER.M#R-2[T>7K:=J246*^(RASDU(C,R.+Y3Q4=#C'2SI=!9B3=B
MR_YD[HHGW2#ZC,CA$=OW.=."JF)D@N"Y"K=N1'("NBE/862,'E?*A3'M,&HN
M=*&A8S;N#T_PNCBYW<II%,0^%&56EEA6RPN\2>LFJWG92V/<=BNG4;A./E7*
MHCY9B),L/>,THE331O"^4N5SH7/-CN13I7R=?"K6Q&$AS^BKWOQ>HTT;+U2;
MUG!<O%1]*M:NDT_YM BX,9%4.ND*1G-6-M]+VZ-!X=)@QGG2%,+#IRPG5JU2
M$J_6+ /C2UI!T%4NKF<OU>YEN>OD4X85RPN\OS"]BH>5:<RT5\Q@E24NU>Z=
M-B7D4W9ZCW.N&KTY;6GT*B5T[_7N@N]T5@LS=#[UESI7Y]N9_;AWU<] BYRW
MX!";U,2>8Z3-5L:[M,7J\[VKKV+E3E9S$J^W)_; *6BJW7?:A+J\MRJ7QKGS
M9#6'B%'(#Y8RC.@:B1$M\)T"DYRV4@(9OFCC5_O!7\THY @W6FS7YH3V''/[
MM<6L7)92.+A41IW-$?YJ1B%/.#W.#E=2#:H"4/%5GRHM^BOJ4AEU-D_XJQF%
M7.'X<J:#ZMRK:66CE1W?SY5NT[G4->ILKO!7,PKYPHT5EF^ N,UJ^<'08_A1
MME&\V$/L9_.%OYI1R!EN*M.^J.B9D5 >.DFOW9HGO8L] W,V9_ALB8\O;$L_
MS/6Q@+-IH+?V7BYLS33\OBU3UU5#*:*G6-#>IL!2!7= IQF[CN6'M*C<.ZUI
MS0[=FO:0U/S:A!^37U^;\55M2!^9''6<G+2@ U0#RARP#$2VK:O>6Q;<8@W+
M+#"UG4NII13&4$SH5/^=$G)XKF>3C1"G0OV1;/397F9T?U]1,8@I]:1:SGJ+
M\,5(PRT;84ED:0%#66<R^>^JJJ%.W,GVH 2#%=,FV6X(LT+;K>@R/:*:H=RS
M>)C%S6__[=XT+B,$_BI7P'*'*VFV72JWFS00U-R\O6+$3*8:SD.K3[FR.XVP
M<^6/2E^^?*T$&!8%/C&=ZD)&6=QKB6K;Z-=#"[Q>*!?X_@L@+G$E?:^U/.T9
M1;4B25U+3F$:*-K)^" ]X])2Z 3EP[;W:!$,]>G'+UL#3BMK)8Q75:LJU@7O
MWBX,4_.:8A2N9T6)9.VH8_8YI+@.K*AS*"/?&1%:'>B0M6WHV&FO"L:FE=&!
MO>\@-)!I14AZ(T<)FRI,E*K2YV:,D+;%81S'^Z'#BUL&OF.^CUS?F_!WXG3&
MM1US JT6U -<9(_4Z9;O4!XT%3-+C#5B.A#2H\I$:JU"9S_^B.^O3/\RI.#
MR?J/B$'; C*< $NSD7T,WOC'6+>"P/-L9B52H*!-6D2VF%U*DMP-;=#H0X+P
M*@'"'F ^J2CLVWY1)!)2BL\G!3<AC!-%L82K['6Q_C-L_V<743C9?8F90K]?
MDED(!<B5^0515HGQ/+1K__FO/+P&C_=/[E#HE1+.N( GRQQDXTMHD\E%HQ):
M>3CIO0BA6O?/J/).KY=CQ)EA8[1MMA9JIVBQM=#"OE"J_!=&+A^V1=*NK1K0
MMOGUN.V=8_ >^@N7&W9+ EMC!3%3QO*>7"DQU5S"\D*KT:].;WO@?7=^5V7)
M3R<#67F+\.Z-U+24HH:B4#;3U3SP9DFB<='\?YA;Q/N#O&<554?SW/!?F^2H
M4;)8(S3@&1E[ENIW=#IT$>GW\']O?E<M V]E 1R[!BAE(X79>B/%$7P^S7A\
M*YOJ7K0,?,X:$(8LH8_+P.,: )3$N):EW+3&N]QX *;E-HZ%ULL/QQIPV;S?
M7P/4\6+DU:>YO-"MQKODL%8OCYG00O[PK %AR/;9,CT-=&!(D!]!Z%1,*9"3
M/8^/E23+A7)%!0.?-H_'][8-LF@,<_2[.2PB+\5R?9JT5%O;ZV5S0HY;2B-_
MTPZ]]7WL)ST5H*RHAI*%-FKZ?"3;SZ',VINFCT_<=-6JC16I1;.Z-AFMAO7D
M@HT3B] N22\1_]'O?(GZ?[Z]^1K;'I__&M_^? R'&?[X]",X'G;_^\4@^[4I
MWE V\W,\D>#B!;&=-PVJE"%"BP4BQ0NKXGWVED?&@K+JY( 4+/Q/0MIS4Y^C
MJ>^WV0B\0#;2@R&+3[7Z_7(QGW9KKAS>8M+/I[D;UWYEGE?M"!^XRV^]W;?9
MW]]!OAE=?31VQR;_94QD9 QG_5!?Q]->&AK2R-\QWL_& CJT$1^@X<(:=-[N
MYMG^RW;(S]IN^LH*BPFE+08L!M2J#.J=RE)R0P>,UFE<3SFP >>[+/BX"3Q_
MDN);7-_)&CO$]K,,X/ENUAL"$^G]9^@]0AG^>40D Q)$H&"@PS.H?G6US/,9
M,V]KF1DWYE93HJ>'L[; -U+]ES@?:7^X;O#=.4 K/'7 0K2\UP:F*$CFM* 1
M37%>X7NTE]9"YWZ]<39[Y^BN<#)W*UJ-+U ?7UJ-MX6V-M^$>ME-B9(Z,5TZ
MJTWX?BOKS?.9^^QE+;L'R1VMDM]"*X--HB=E0JX8)'O%>IJL93V5BU<22SA2
MYES2"]U>5@22OX/ZOVM_<"]<^C7J?U&K\K*6XS+CI<A!O322&_-D-<>%$BA'
MJW*DEG]VM_F%^*Z4V2FQY:S$"$13PD?4,BF5[5 NO9'O>K'Z^#6W/Z%O65L%
M&T%OSB;U53G3Z&*$,1.RA66^9ENAVS)\JTXY^OIQ3I>1?O'>RO\"[Y]@L]UV
MQZL*+IF 2ZDSN)]7+\THG;W$]=F/)[T[)[FQ8+66(O,E+>ZX^KQ ,4UU'CI\
M%XJ<Y)#Q\3&OV,89(&/W>57S"JUEQ66KCF6&SDY^>5YQR/BWGQML6E3'IOOI
M&L9[N85-9KM>6KUH/3Q;;O"GIAV^VZ F\;I&%8R%CDVZ>K:= 6IIF@G=0A@V
M@WK^(@WOLJC-^V7)N\\/Z]S$;:6=^'3J-L-7)3!,%C44#'QRY,XK2K3-5'1M
MMNSGABV9B9?S%[TL?H9)_>R$TH^41QB6Z:95:<**EK>JVFC0SLAB,G1;A6$I
MCQ#.K;+GYZE8- =9U5T_U9N'DFL%:>3<4M)=&<HYRYSXU8==)^BK/MR6&FY
MBQ\!"Z:]PQT<68\AZU0KRO">3'*S!,YK8EVQ=1!::W%&6GUEW98PG/9[P4Y]
MJ.Q;P -$\TVUPR<_W$C>W)D-W=&D-,"ZFL"TJMVJY)&AA?X?*P!W#"&NVN:=
M0*K6$$>:N:KUO/5V;Z"TJBZ:8Q 7XH-$D^4IV\/2UR%+:P3TZO2O6H)>6#7/
M:)<Z8Z;!]X25II*BU2E7%%N<7(<LA<,NA6&U.X%4'6.7S)HV2&B28 L@GZ:$
MD:W+Z6EHT=7%V*6OW])+B&0WG6)3ZES0,D:N5-6,0K+ GSU6\EZG]CQQ0E(4
M\Y*A*KQWS[D#!?>H>IM9E<_NBKYO]N0GN_3'78_#RK+J=P;T!E"1XF3 5'6
MOC$84UQ@Z 0OW NNVJ1M[%ZI3L.[^!QY2\ZK4_Z.X.44DG*/<8E.+YZS,9[N
M,$)QB=_/+V ',XR2$@9 \F<V19+<B:O[!_';%C#L=;EQ5AZ[MO-X%%]LJ>T>
M3Z?B2VQ63R]K8G;6:<5#BT:.%9FCYG[55N94LE-W1GYZUF1JP9'/#;_TA&1.
MMOFUI4S23>7)?%\CY+A%9Z?52G,<_MVAH\7G]>E'$G2$!.6!:E1,VZY!)P/L
M44XW%WY=$-A 3N:#&1H5J0;,2D12ZS+%(@DH:#7$BU^YWD>$2)J.D*8L'/J7
M*Z:A@5XX_@4[]K,U+3&=3\<LJ!O:+$X6J6R[FJ:25R1,1]#@JF7ISQ#T<;B(
M=!+I+C[ &&Q2;#3P;)6:5,-WJ.NR<%$8,/6I9.<-7-1.F'$\KR2G6%=IV^E$
M4A;YQ169H"_"1=<D04?A(K*\&LX$ 'H:X1 DTZIHE?+Y8VK?!!==DS0=@XL*
M>'/12-H9#2N/V6:B$%>Z.GY%OOY7XJ(PR-*!:ABOG:8?\\*LN6!PH-6GBF<O
M,DIBR88.XGSFK=RA0[IO<Q3LWN8*JU96%V"Z(M#QDLYU67;1Z81.P3_S1N]+
MX.A+9^/K!MRKCA'"\[>3--5,E5.T(-0]QDAD"UR':X?2A+QX)/X)E5\4OJ/7
MK>CD;:2#GUR9HNCEM<)2[=UK<7%4T85DNU=+16H8U:2X(DV\ #54]56SU*TK
M,ZP<;]3 E#%U1PLE_#IS(:A(![^!#AY=#^&4*F8V4JLD*^L65Q\4IZ(@6* O
MA2ZN^DFUUOZL?$.D05]1\*R],"]@)1N)IM*4:%#2B)+4J6":72[:EZ5F3P@=
M+6;A*JH4@MJ#%Z"'[=1P5*N*K30'1P/BOC->Y2I&A"@C)0R_$I)'Z> %Q#C=
M7H&DW4*A@DWPKE7#>GHUWPK=%FQ8@RO?,<;YI7N!C$@]Z.##ZP=9_^B59?-,
MJN1D3(+$U!*0.;5*U;)\Z!:B!\:'[LHRQ&<FCE%'BL1NT]/?V_IA(2B7A0S0
M.%G0NDV:2F?99CL3ONW%4 G!^0ITG4ZW9V4!W \ 6]"Z==CVA/ZHTAN$;O<@
MK&Q]HJZGKY_WD5/M;0O(T%^,;=:0@S<U,'FX!;9H3,32?7O>%,KM<K=V+[5S
M;3ITB.:/3K._2H#+4/#32$(602_=G$*Y#:618>JFXK549?1P&KV88G0W,50;
M@IM1QAEC*!(<'KI(SQ_)PALD^%;2 !PP /:#)<CH' ?:Q+RGJ1TY9<=7>&Y^
M']H5_6/<WY_R=^+V<;5-6(/WNJ#2A!P!L\RJURX-RZGKL@"?7MLDK)*QCGNN
M#U"K*RAO";(QD?[\,J;M=$U+*QH-RU0L:&]M!=<T;7P^3"F"2O/Q+B.,05R]
M#ENQ#E1^B"R1U#R09RLGK,8K.04:FCN@H%VTH<:,OI6<?#/)>*/>46/1S,VS
MMEK0U%39LUN0G(GAVTN\A'I'GUKM^QS.1G_:K3%&K946,IS+ME*FVNL)U^5X
M?HVS<?Z2TZ?P-N*T=S\?#+B.4,?(ABK;U0Q-7AG[/\7;"">[M]LM+;@^5VR/
MU.F6]?2H4"K&I\0$XVE2Y&V<2(G+ZP %3W>;#DS_>XG!45YGL[ET\5I'%37/
MQDJBF*NFQDYH@\X7YW6&2S3^Q.UL>A.";JS@&(M[[?N<.=?HXI6$J,+G=EZD
MV&P$I3M)6*HE9Z9<%UL:S4;<3%K?*S[QW43C#<?3-4H>[XXE#H/+E-0OM<2J
M48P<SY"(P9$%HM9E1=I@R;K.R+2>[FQGT9>VHTJ9=;[[AO.@W*$UDQ==C;!+
MPJK'EZ4,%EI3<'B*.S[%H3F>+5,E- GUSXMB?$@6.NU%OYZ11G.,YRVM/9OD
M*K5R:*U N&0A#$4MGLB"S,ZK2[FJQ35D$LENLCMK@4D8BDQ_.>&>QG,]DS5H
ME;";V 2W>;'"2';G_*4YPQ+&K#(0QWLU(JV5Q1Y9F249FZF&04[.!ZD2(HFM
M6;]<IL5"(TX7T?KGF/&&Q&+$^6_0?#?K$W$2.SN0F#)EDE$6Q06G.@FHPKZ9
M'K7#0(LO675=!#(#JOEWK/G'-PT96+)H^S=AV>B?WCR=<N=)82*(68N4E 9=
M>E2:"02V:\'?FS$&O]D^9_O=]KW_H#<>*O!9D9NQ%MFJSIO<A%6R6D:W>OWR
M\R>JMID@\.0=^LD?/'"*VHMT94YF)*^5U6C.[=7S9KHXWBD.NC]'_Q=_\$!I
M$Q(4JZ4!46VYJ:) :\/.C.TU,J# /I^F#^NW/WK_<[/J',E@0-<-0Y>CZG(P
MJNAUSL5Q239&;D;9*0@O!S_8[:SFHB<#Q[0^R(%GO_<_S$+#G*C&H6Z/%:6]
M+G[NC_YX?FR D)B34WF5Z[*Z-L%+1*_0E0<J\P([-K]YG1OJ\L[:"?O&@"59
MIKYO/?SVMZ:E_"0PC/RY:?%S""0G/C1-QS =>!,;6N:D!8?VOS=M2:3CO;;+
MIA*XEA<6Z1K'T@ZY7(@)0J1O8HZY;B="2@(D1A%BDH:4F& @)J:8%!)TX!LH
MB*?@<'@3,RT96O_>X#<_SS7:1:TTMBE@+;!\1LY4,JGQJ+%L^J,E_VBT/X/A
MVJ9K2=!>OQU!( =6%HG [W_0GYCM>/X$)F 97ZBR,[K#,>S__)H"658-):[#
MH7-'W3+,XT>6ORFW_<RT@QL&-E29PU\W3WJU%-6(.^;TCL!OZ:GS:^<9J.ET
MVW"(C&U\"":J[MW]MXW0O1VKP46L94Z \=\?ZT_0OS8RT</__@I:V^H*HHY0
MG^NGW*&7,?__Y.:%_P 0&UEP^._-?]KU#'IK3X&Q]\C@]9UA6A.@K[M=P&!^
MFX]N?K?] W Q<QC+^.N!X2!E\WM!) 3H_],#I)1T"*R[@>F,-B-;4S&.8[>/
MH]V0\?'#??(_H^OZ2PGHTE]^B]C_C1'!+_]^0O$]Q@74V>?;^J,7NC\=6W#T
M%%TU8'RT)B>^,Q!$&62F]S[R!<1_[R^X<:"KBG'GGSN"UOH3U? !@L_@7X-
MP!_[6,9L4U?EV'^PX#_;[_T.29\^3[Y^%)5?!\4A&/PCD[:/\=O/55L=!%GQ
M=R-51@-"/?S/?Q@"(W\]B,3T5+1[FQ#'S"3Q1S,!P3H@,A@QP*!,B$,269L$
M2*;$@2PS(BYC3#(ID0D:(V_6ZG :=7[OW =[3]WH[\#49?2E4"NVN6R,;[-M
MCO_GY^!4/#KU.'DN([2*[2+'Q]A:-L;U,@6VEN=BF7JU6N3Y8KWVM8/OLGRA
M6,NWZ[4?L>QMYA99'RJ1"IW [RP'EZ.[@Q?F<4!,<O56]7_^@]/8KT <T()N
MF$: '%4IMG%86OYZ]S'7+F8 WW&3H7J7-2771V_^V=";P!#4@&6)S2Z9XCO5
M7 .K:_7\:FD7^$6 _]XQ"1R+-]?2O#?^,[' KV*K#KVOLY\4-630_V21 4D"
MV4]F**:2B =T I,&^' @R0EZ8S_7OT"(,-/0Q_<8J_2$\M)NK0;9PCQ>;(J8
MB#]M:?)S "BNCV-0TMT:G5<3'K$0B><MA58[.\ZR TR89%9"WL3C::J"4*:(
M/6T93R^,R=0R$D(YSMN,,:C6YW13I)_W:31F"3VM4O<"T:EYC;&CI3JIA<@\
M].D$Z&E#V,W:+)FZ#J8VO-N^V.6>CQ$WF,''1-(:=.T!*> ZYCZ*"C[90S[/
M@0_V#'PZ" <[\G9P<V@Y?A6@C=@@ +%I3M\F4_]G5UPV_:[QYBV=VL#.]<O3
MP:?WFI%]8S#T\:OS[XV*?F)#">F>J0^ KIO.P%S>G,=6-%U@H7'J7@M.3<NY
MV4K)?,G,ZF7DF6O=MI@7E!%3*P]]:<8.:=Z67CQ43!@3BC'>FR#+\6P%\W4N
ME4S0CSIWP)S\=.2CF)PB;XG/9O+#,OPAQ- 4V%:;:U7ZL1;7J+?:L8;0X@6V
MUHZUZS$$)]H(,ZR7"IR,U5LQG/I+_GO]03T7:Q>XV [F>, ;;*8=0U_C*3+Q
M #@"&OX,M.6Z-.:PT:?_R.B'6.#H]Y-HBS6^GQ3\(9(,L1C\H=W)F5;,&<'8
M;&OL8^NX>0RBWN3 :+SV\Q?1Z\Z"=2<#!\8GZ,<C?Y&)R\"+>Q!8<6B<:>5J
M!%/@UAL".W 7RJS5JS?UDE#'Q?K2Y6:TS#^'N_M3K )+&L5(_$?,'\6+2/>;
M*=35FM5PT6A7H!"^]K_]]X:X>9-P 2C^(CMTHAA*O;5C7"(-NQX-BX!+2!V^
MX"J\8"?AB<<GFW&>('"KS\U*I=Y0,XBV,%F(]$D\OL0W]?C:+;;&%WV_[EPN
M7RPRG5=F.L-%HV\,3K9ND_-@,K=^DY\*$'O#;PJ>*T/)7!MN/X1J6G?;3<VG
MW_H;KW<N&J7EOWKV]7K/.]@7?5@IO_;OFUYCS#&_.8E>A+8_@Q#[J4S%L;LB
MH=Y0>R6B<_,[8TXFJNWGCL>&J@YCANMG?-_%ML,^XYX:%^0TYM!3:\%#=P(-
M2] OK'+9:D(C\E:_7*0&'3>OO&]?#</P.$DEDXG/VUS[LMR$,"#N,\A&"RJJ
M[2\1CE]T;T<^<MJ0S?%QC-+R[:+>'V<F>BDXB_$.^2C6:O4LVV;7IJ18R]R>
M45 ^L'[^Q2V!Y 0T\?.MK =:Q( =LZ=0\C.$Y9AJQ%3'CDFC(/[X]Y7N&@^&
M)$-1D!%I7,+%Q-#/]L-E*!))6I( 22>(H?QT-Y;.CI* @ D7@QVWKLB3"20R
M"R20SW9XAP8-(5\QB@+!SNFV,N^VW13K"^_3EM8(]ON3>?P>BW/YTE!19MC]
M6!&)YWT6Q$9V-53TFI;ISI9BH6"(W:#ELSY7(N-F9".7Y3(SUG7R4E\V%%:D
MGO=I)KK%+L53 ZP[*D_-,4P4YZ")6C[K<RS!#,F.DR)65II\E]1ENBXT-Q[G
ME>Q$4R^BX+ &(6S_GIVI9<Y]I3YY]'YM,_V#7]9T@]R"BWTV1[PRI@P?(A+
MY%*S?'(TP(B&,N2KPRQ-4-L]Z'<8T2S4@7^ ^/6P_E4P\PR\:H-E<7/60PKZ
MVP5"B$O)RM2TD\N,)Q".<Q_7-/0(7=GDO;PGQ8B,DXDDE4J0I]M^.3?#/K)B
M!N(>0ZZEB7Q+*S9V+=6652EP+\UAJ.3Q(],KWK9N^=L8-YGJIN>?Z[@2OJF[
M)BM@GZ4 0UT%[_^^=+;M:WBL9M[^'4K.G6!;X2HF$2*6A'/58F79KQ^S^:>B
M&A!_6+$R0[>[["4H3*L34EZLT\R2P!>;K,IWK%@4%<N,@*Y#0T&&O&4".4(8
M?\"KAHF@IWZO3O= 8-'-DK44F;*%LCP=IH:KLMN2?&:]$UY@29K&+@=9A)E1
M&?2R;K7-A;$;[:!;\46^UZ*P<KO)%-5JOR:\-QK64F4%#E6HR[$&L+2#W'I'
M=S]BK^<L?9J[LZ%;@/SJ5@,]#*&)W5"1)8,&[Y0F*ZVNV"NS)DSF9?.=*?J^
M7)6@94,O]%;H([@2V868;QC"B4L^-*6-6/B!LZF%)$*= CT&EU!R_?-]Z&.$
MQZ!].FSY,]I^.,%YGK_.?8S'-Z^L!<'C,AC8B([3R?%SFI0XL*J3L*5TJVWP
M3AM!^$47_LRH_GW(J)YT_A43"79C9!K/MUR\GCI8Y?)=2G#U9-HLN+Q0X]Y)
M S*)QQD,>QD+?(TQ>-Q&\)4"3_ZR8P[4X=2GPV;#ZT<,&0G=]14Z!I" (+)O
M[6&T2W2^-( :XL#7GN3\*X= "W(Q?!WY$2 8] 9L5@]@R-N/AJJ-5&?M*_K)
MUTA@AOZF"_)/T,KA8XZ8#FPG9@697Y'DG( U/%JM+=51T3/6FU_00K2>NI;M
M^KM@CAE#+8*8"D[\-?C;7^O]E!)6<NYVMXZ2& 8I2 &1D7%*3 Q)2@0T'(C4
M()&D: D' ":>;I_8 Z DQ#D?%V!K6-5U?E6VT@>WCJ:#9'M>F8EM+<^UZE6W
M9O.4HAS:.D*+2R\-YXFT4(=.'K)L.5_N^GT23ULF="R9R5KY-D>G<?Z^4P)%
MA?0/,6Y;GF/S)H[=X@Q&460B\7\^LF6S'<Y.A8.;5V#5!$F;OBVT0.*W5.)5
M<'5D/\0M19VB'^J6>3%][Q'LO8J/#TWPR&H-ZV(5+WV[*5SQ6JF'YU^&#)^_
MGMBI.CI<6UISN/X7 FFT?B7YM4OW\W[>)1L1"XYB@04"*+3.//[+=Y0^0/&U
M%D44/PH)(?SQDLS#Y1IH;+XWUO\N1NJVP>/R^-Z,Y>]CI4(6]=N &P\G!H&]
M>PC*=N2<I/1ST[+@XEIB&:]@GE3>9IB\F<J'P!#OF)+V\2,!W\=HADPB-C9W
M;7(?Q&'0U6K+2DHBM+K(X1:A-EV8;F[2B%X5AV*MGCV5&%RS)3]Y2FT;.2&'
MTV>?!LA]PWZ6V/C6NG";E>-)^B1!QB>N02S[ C0Q<V76Y8(S7;PUKQJP93![
M2:1>_>G:*,6JP-*@$ZM4,H?/0IPV>KI7<.V62(8SG+HWRA.F76ZM@"'[F0<P
M-O!BT@@B)OB76<<6(QBDR/@.\TYFZ5_XYH#4"-A!/K@< [J^"6KX;OCZH@#?
M]Q[ 30/4\<8/?SAL95J[AZTV?OF..[\52]]7]]WVX+"5C+Y%D--O.K6@! ,
MBA/K/H+3[W;L+]0S4J*8[4JCF#TR_937[<$19P2<I_-9@/U!!RGNP8\W4_K[
M1Q#D^8O8F?< Z2-J-!BC6?D_"MJC7_KCV73FG_:S@Y$$P_4#/RELW8,,//OV
M\]+G,ZYEH<&L#QSZRX<#'-?>T75JGB9+C.R1W&PTX_-.O91L>^Q;8A/K0_MC
MFKY-IUC_=G!01]XZV7@ 'P='':GUB8]C!E SGXSDA,<L3QO:N[! 7NALEJ^R
M2%LGJN,@)8<ZTEK+-'PHHWLQB&"-%ROZ2SJ0@JT__V*]F'_HY*DU>^QC-\38
M<K>QB 1&^;:J!15W7?(VQL?;L;_\+Y._"(24-PV<D1JDXT_]=/Q/L6KKD3_8
M*6C_?;M_2NJ3;-$.F7TJ;TS3CBW*I HV+#<3I.!Y#E%45HXA26_:HH^:HD,T
M^'Q[M#N*FGEH3*&U3%]]]N,T49H_-E;O,T=(^4%,1[^',2!)R!PAU4)JZNNE
MY8.-@Y_&D%#'#WYA3_PL.&N#5WSC(9D31"'/!UFH-P1%_*$J,<4R%\YH^^TM
M@ELP&)H,A_Z%4'Z);M\Z^60FL%\O#3#X&O^U;?9F@Q>']]#0AU>;QB^,==M2
M-7:L+4X,XL1V2V<7+]Y&4OX%2W+EL+S$3F_#CC:FNW_9L [LR#A L'P& _<-
MC6):WIG2Y7S@8V4VS]A9F;6>(];:10+C^$PJGF@-<BMKT'PS(G#(:GW,;0C'
M KW[EW_)M+V'L^<L.[/F:##,M&LC_;=W_;X&;=3(5=&L8;/1DL&;8L\==9\G
MC9Z(PA\&9KM_N</KPY'!M/.3>CN^?#"\S'IT.R37[?*T(2>0J\V/^?R*J<A
MLI6SE_B)UL*3([[A*]#*3Q4[" C5X2'7-'!(D6TTS,"?=.TU+$./#RI$'JJ
M@I"=_RS=\Q^^4-&C?2TPT/Q-WQPA6@:VU@"&I +=7Y7]$YY^8WMS08T=\].N
M5?EPOLPV3O<7V(_0[<&LO57L> &.?)*P^B3V".KZ@TW]"XEFX!JL2P@< ;S_
M/B7R/C-<[:/!A&R9]JG_?,F8%IW94F],=(PN\["SR(^9V?"\2\8[HA6?$<P]
MG4R%;GOG))KN[R:N<Y1]I31=)[#Q@;$/+CO;JJKU/,E96B<$V/[>VX_8_\9N
M,3PV!59L#G07^JO-NHL??D$1U L[M50]1F+K0KU^E''#_K4 Y8+0'NK/OZDL
M4(WW7/VW5] 8S2<NFT&)*17!UYN8GUN+*(WMJ]Z1MU'&-MW8_]X4:[D#6R0!
M&8(=2#X88_V1B#NJ6,^1C,R.)WW.%5=]FQ&*D[2.5)'$?R!A_4'BV%:5MI3X
M?:98Q($M:)*^D-7MR)NM]E,)#EU-=6P^P,M+P0>F+:OV5 >>S^1-_NPI%KAC
M%Z]W,&I]R]K.W_^U>^O9 $@: JVN(3^I^[9S%]MF;$3 ' 7&!Q8$6AP,D>3=
M 7T!/'N3_,$PM\1#5MC= ^V#:^6":^]BCR_]N45WZ6U8ZK^.[M)[PI9M4C[)
MT(/4 (H2E@)B8DC0X@#029$BAY1, 8 G(-@DNY^&D<]0R'-[NP^PGU4'"VXB
MXX4T7\P6V5;1OS_M2TY&!(*([PCB,74V-W?1Q+C YSQ4DO_AP,1:G+^2\EFN
M%Q:W\>-+Z<46V%K/=6O\;Y/T^4_C'^W9G:0"\=X$B5OLE1,CIU]&7MTK>-_0
MDZE;\I53*N<#IOOL B\YD]OUL8%,3S%7K+&U3)&M((A>;U59OSBW2)(,0=//
MSYB^M')NC)K?X<8N;^F'/![\5RSW$!,K&FM_ ZU$:_,&OI5DW"9?K*S]>8)Q
M(CU^^Q!#9+&N:H*?8-<.8ZZ/U;;Z9LPYNVDY@C>O0MX&\F;]*FOO/0IUP(H\
M^M%W_Y$D"(?#3V;MFVMKT8$3_&'9"ZK@!+G)(D4S*>9C;JG?YV8OX/:91_I>
M5?AR$GZ%Z?KR27^)W#RBK\?^(OGY@'7]@CF?%,OMCG\3>'P3WFT[WVZ5$+<X
M-7V]A$ $^ZYJ@I_DSH; 4&9,/_3D)W&@5\'&1I ]=\A^QOX2#.#**OK^[[L_
M-J;7+#V?[?(&L;7/MI(7!E^_P$!^KSE_'=X\$%5_IV7-U&M9KL9S6?2"KU>*
M6;;-9=-LA:UE.+[ <6U>3*129/*D-C8-=.#7ZN)'$"+KNDY\V-\."4XL9*$$
M@YR+S:>)",A>/9"]^4U$P<=OCR,^?5/EE.:3;Z._5:[6YNNYPP5"/FHX=R I
MLICU*5QG1:YK)/IYC18<H9_Y)VS]&V@F\.%TO(,&#&.;HZ[PP/YST,5);.PU
MRV78MW1N?I,1:HU0Z[=$K;MF-\/RA5RE?D;CFP'V*);3S87]%3;VFXGJ1>+8
M1(1COSU>N!H<R[?KF7+AG 8U.!HP,G496O;F\$2,F[F(&Q&(_6X@EHI ; 1B
MKQW$ IQW)^@WGCGD43?!Y82&PSZ<(VX@0RFIT/Z8S:V9#MP<'7/,V#LVNR)L
M^@VP*7V)V/2H;6)"3#))(D'^:=85\>=95]<L]9<";/]<)*K  $I@&A^.]&95
M6W)MVS^&ZP-.U@"Z9ZL!BGVTJ+[)75>4\-NTH.WJ3\.VD81=-$HE3N3A?_F"
M>906D4V_@(GJ!.<)D4BCM_KFG:\/NFF[UI\:73)*=?T^^/>\0K7;<6"!=[J.
M/?2-ILP.3-?9%D5OJ;86B> W ,#DB4(,(334"?\@NV7J-I+ZAF5*4/;E7$SA
M.$[_\6&$1 2+OQX6AT,HMCT&UO6QST@^+AK4GLHP?J]%\%LN_%^"/;&GD_Z3
M(Z+?C&$7B-2B,^K1]OI7PZT_K[W!MMK%8KU=X%I[A3=228;Q;SW^<.&-)Y4W
MZD'9T8NHNO'5DA-V('9VN_>]EKYON=Q'^.S"&!;ALZ_&9\>=1*Y !>A!Q".X
M2<P64RDFR=!_&EL[0:&/:]:.T,;63BL/06>QG=XBH;A@''?SFSQ1KLV7KX7'
MZ0+K;Z'E@.28EBTRJ602/WQE^GOL(AMM"U\"]/MRD?'[B6TZBB3FZK'GZ6QK
M"+6"$(SU91+0@C(/=&B;P_5QB,<KO*,<Q^\).,\G&[L=QX*>_8S%S3&<G;OC
M_2U?P0[*YF^0:@13(YAZ.3"5S,(A\!-RA:EI\-!03>M1NL443GRP;D.4RO@]
M,.NYY&?;;<SO-[;N>,?N1B(5@=I+!K6)JFI '@RAX^VDX(H4GDQ^M,18E)IX
MZ6CV#$+A]QA;=[F;ZQW)1P11+P:B4D$VQTXRAT@S9.J/K205X=(KQJ4G%9H#
MZ421Y$3P\W+A)\TM1XC'CBV21(H@_MB6TA'BO$C$>1HYV'82R<!EH\KD=T&5
M-AHY<) C]#%YY[<_C\)0EX @L:>3CA(QKQRX,8<-V<_@$MRPLB7DH[K(N^A?
MO:M\<XNR?XGZ62YK?U&&B<3FVFSLX=9L_.G0_]?NV!\5T+^SV;0>;FC9F=2&
MH$2@D0J,#RP(M#@8HN?> 7T!/'N[2#.W1 (I=7 ']!VV'51PEWQPUWWL\:5/
MC&>4?'J#^^YUS^M?[5_XO/GLV4WL-T]Z#9CBF-,[ K^ES\231UD+B$\^<@"A
MA@TZ6-\X_@%<T [NV/9+(IO!9=G/X<';0AE0,8X'-]YO/UN3\?'#??*_<,,]
MLNC27WZ+V/^-$<$O_WY"\3W&X3NF?// ]4<O=+]ER_J2=C&52 ")A(R8D $A
M)FB*$E-40A(A0S"0 @E*PHB;-2'6OSCB%N8SWOF^9W+\H<2*MVM4\#"DV,Z8
M=JZC?_,"KD\9=2"\B0?9]0<5P[<S.%C*\"0+S,%1O;%4%VNU>I9MLYN#>K7,
M;8RM96.\D.:+V2+;*G+\#GG?<0O/&0G]QI0>!AG;'65L,\S8>IPG)/GSX02?
MJ'XERT-+Z&O7T>Y<X/9P(VT(1UDT8L[(=/TB'?:/&%Q*$ F[/0+6NH31%%K;
M=Q._2*A]RLD<QI^O3^8P:DF\K,5;]/$>++:QM<,$@T,XP,2!/$B*"8H<^'D6
MM$BDZ 0 *0F7(+9G:]N2J-*X74K52DNA+(!!28'T:&4N1%PDGK;4*N5*WRK2
MN!9G@>+%6YK0F/HMJ:<MY3$Y[TM+&<?H6GN.&ZN5!H6%2#SOTYXRGN4H[)#S
M\DRO3Y4),U%44,MG?7)%2BO&[_.:0&?3K>2('R?9!"N2XK,9C>9TE<HM6JXV
M23-2*4/(M)16Q,3SEO>5@2SA5L;5\C5,723M])!K-47J0)^Z9J^J]VY/F/3U
MDCCFFX214U#+9S,B9F;V?E 2TQ@_U#11O.=7KNKW^6Q&%8J2Y!0]8(4\9>4Z
M7=["*:XIT@?&Z8R6.#M:]C0WJ6B>G"LU!SU63!X89RN+=;QZKJBY6%IKED:5
M29]21.9Y2R.59EJ95&FN>6DS*>:4DIT8+<34\Y:NZ<GW59DB-2"4FS0S,/H]
M1'D<>]YTF6%HT-0752WN4ID!/3;E9%P1<?QYTP$^6I:DE$EK-$/27'PQIHQ&
M4\2)YTVS;M84.N4JK\V:_>9$@W."FJ(!'."]WBW#MAQ/=#G:[4[Z9IT _3Z2
MT0/,QX>)>Z6K]A1N)FI-:4Z6[O4%ZO4 ]ZGT($O$:T:"JY?C'NT6,*W26_A-
MG[$_8^?3::K)KK!)-JDT^TK"%*:*W_09_YV9)1(5*DM@O$HK<%EMFG(;]7J
MK2Y&D+.%6I>Y>MQ*=85>OUOUE?0 7P=9@S2P'L $+P.6O42\.YHE$5T/,'8\
M[S?<;JHVTKQ)MV$,!Z/&'%?\IL^FM?!P#"RKV$B(ET?9;+W16ZY*K-_TV;0:
MM58M[@#+Y(#>3[=7[$2:>DCY#XA+)U/+],?9IL!!M]#.6,NQU_&0]A\0%Z:5
M(+I$=<1I=7I6F'27);F C ]Q0%PFQE1Q^NW22J#S-4E0LB!.":Q('!"73+[#
M([UNQ#5>:[#SDI>T"*0NQ %Q&0ZGI=4B7E PD.W6H&KDBRDD \0!<1'[>3RI
M]1*F5A[F^.Y\E)>6*=3K <T>N@*FCW.KL9#7:PX^-;*86FR*Q $9,)=-H:K>
MIX8"2 &C09JE<<)! S@@ X@\60RH=8R;P=9L-*ZK5!+9(.* ##A-66&9 5W
M -<O)9M9;35?*2)Y@%MXMB875V,\R;EN7ZPDTUXGV486^ "W++TM>3BH, )1
M-4J0ZL+RI+9  /YY4[("U D8C08"G[3;K5R%-6V^*9('6!"',Z\+6;W-9=CQ
MRFY5AN8JCGH]P +'XX?4O=SR.$_-5_E952W@$#4]P )@#"A0&IDU 1A#I"ML
M>9!IH6D=8(%6J%?C^5EE(8"TWDRWB8E)(#4D#[ @,29Z]W#4JV"S):W5Z]K0
M52NLF#A UV)V(C>F]*B*E9-MH2MT6#IIH_7J %V+/)ZZ3\<5ENMV^&QV1/#3
M$C(9B0-:4*SDV)YSS[E"N2%SQI3J4?<2:GJ !42#=$?3?(_!XLRH---FX^%P
MC@9P@ 7%Q53KM'A'U/(*0B9IRTK,TDV_Z3.3D46K3J<_HS#.ZZ:-<95TZ X2
M%]1T:S*"H-M#)".(.OA1#!U,;7BW?;&+OWS??Q/-\'U=:>U,[SG(P'7,?>\X
M^&3/HWWNT#X/]#R_Z'L-YXZ,CN*WB<1KFSH[SO9._R;J<ZB;BRW6V[Z/+RPP
MO5O';1:(3F^&3#80<L]-!P/;U%WGJ9O^B<'%CT7JC@M*CY#C$D<=2'X@QB?7
M0VR>>'7[,&+$)S$":00>,2(,C,!N7TT]B1@1F:;OQ8C(-(6%$9%I.BDCWIFD
M\R9J_;Q9ITZ=M/!1(_S'4TZ]*[R]+5;X].]#$'L[6^0>^23X]X:X^:BR$;?8
MJV;O)%-_*UWC-6)4_8L+-T=%\1\O$")B^[6Q/0LE.!E ZU7.1Z;M,F7\?!*]
M"2!M=\^FRUAPB5]LFQ$38HGW[V6]9L,6,?TPTQ.GL&F?FX.9VHF=!L'4Y"VQ
M)<1F#SR^_NAX2K \'Z1%G% !/I\H?Y9'_+IK&M+4XD];R=9^X>?S=$>]@WV"
M0TP^&:LCP8T$]RL%-W2(^AQ+3<:U+/3#&+!MZ-AW%PNZ3JRGWU I0ZB!D?Q%
M\G=Y*T#X_8^'$S5T,(@,L$=!KK#DOX S5YT#_2$7_O) 7 @E_ O WS,3];^O
M$[_%R+WC8;%_U*5_\BYG 2FX2=TU5*?EGU82T N1=Y"@ TL6!3XK<C/6(EO5
M>9.;L$I6R^A6KU]6;F)!'M5R_2O6%NM#D?2S^ORHE.B9K$&KA-W$)KC-BQ5&
MLCOCYDU,AI(Z ;K][TV<O(FMRY_\>Z,NG3O#G<1ETXEO6MS$##!!Y'#MN +
M],[7/M:0_7^X1]5CG0RP+ _1L0-T%][$;,0D]"O4]S:=C)^+\C"^X#AUZGKE
M!@% +<F*E$C>_*;H'Q1%__-SGQ27&DV(]#G2YQ/K,TYL%#HA5AF(X[T:D=;*
M8H^LS)*,S525+U!H?36M%(;YFJO-"KTA!R?N8I'U%9J^^9V@?S"IY"L*?17.
MZA-<PDI2<&(I9D$)(CH.=/@C9D#'/S<*=-U< $."/F=BD@5EU8GI)O)B3X=:
MOJ%)NTR7Z8O]ATM'(%L]:SVH60TZF\#003M%=*:Y!BMP72E9O ?*'#I91:1]
MX$&D?E#)U^Q4I)*12EZ+2IX31+Q3)_%D*A4?L$I3 QI!3G%]20X47R<1=B"8
M'QA.GAP[7%R8HV'!*5#E&%Q.H6%O+J0P@WJ5TEX4/'*3SNTF?7&6PCEM7OAF
M^]5F\HS(9:/2W%JCD=,5E)]E RU^V5AJ[0*[(C-)4BM/QIB;RA#%KNJ?'D<
MAOY!X%'@)+((D46X4.#T,9,P;[<4OFWDFYK7E%L#V)_V[DD%F03:-PE8"OLV
MH1><"$;1-AV@GPL7?4.3=\'VZ\J-T3D#*V]8G<E2\8QN>4@)=9D!"IFI=7#.
M+TZ#@$B*^$$F4E$D)=+!;Z"#9XVDO*&$,[9",8NIKFFSV:@_KV;I8H%O(B5$
M2S^#_T!P[!N&3H)PB3E%4_&",(F?%#+UZR,&&S"1.W1-^\CG=W>NW'J=-<"Q
M5L*&#@P'.3/<5@]K\) MRW. ,@<$,^! T^[-%&=5J).LF/(!1>('G3PCGHA4
M.5+ERU?E\T8FWJ7+;&/)I%E+](29!E=4JNA,5YBORWXZR \<PZ\])($>W/)E
M(&X.XZX-XT$0XK3XXQM:J LV1U=N>\X((^K(\  '$:P"@0T#K:H/!1L&OM$!
MVT,GI4J]N6 8;>*V&1AG:+:F*WZ%VP!(8.09MT@BG8QT,C0Z>4X\\%ZEM-H6
MR[3;0@J;,?T!;11M(S=J^DH9( +"O\OG.P8JUE>.1JD;D3L3N3.?""D>MU5K
MIB&]&%Z598%GTMFVRKG3G+O""V['H((*^ A*X#^(9)1M$2EQI,1?A4&.U&)"
MTW$QEW8K@EK+PKJE>^U5@_6UF ZTF+[ZLRF__#IL0X@(),=40S(G,.: );2C
M@$3D_%RIX3DC>MBJ4C'0I#98;FS00<=G9?0Z*^%^80I=@E6&=G$\'V#!S3@(
M0B1_$ P112,BA?P&"GE.)/ NC<P)!DO1XXS$@<;8G7FRFNNO6']\M*^1B=1K
M&GG%H8BB@1BKJ /]U+@@\F0B3^;R[=<9 <6CYCW8+6XIZ:Y/P[QIR@M5UP\8
M,K[8''5'9KW&Q0N#9GQBWB\T8^'?I.=')\@?5/*U[*](J2.E_O9*?4Y0\D&M
M7DQF<<+4\"F6J7C2)'%?Y&8@N!^3#K2:I$Y_'#9\8&1+H,@7^@/C=,7'TK[W
M&;0S8I%7+!.3-\>"F*)F&A]/E=K0R7N#M.)?Q^L7S_B!X:_MX4;J&ZEOI+[G
M1QVOZ.]]F4_W<TZ!%@B%[1:'KK#,F<%UVL$^2"KU'7,P'L^.,NM1O%9P>GVP
M=)NM<;$W'(36XKUUV)Q$ED(V7?^BX:^P@F<M6OC5,_UJHWCVHZP'+"(4;*R0
MF9<] 503(I^=8RM.1(@FJ$.*$]0/ H]"*)'21TI_B4CH1:VG.;M?J4L*%(A.
MW% ZE#/I.$U?ZWT<A),_$J^>70]=B.6)9C]#-"^K^3.(L^YE#9ZPS[(#W];#
M^UY3/O<F=S#EUV]*^&H:1)+^+:9\/9)^K5[_6XY^I<BFBY5BN\CQ,;:6C?'M
M>J9<J%>R7(OW:84G?\6XIE!L]Z,P0+2I>CF;J@_3N^B+#B/!C00WM-[8.2\Z
MU%40B+(*+^>VPW<IZ[.Y7P=&/<DUVR$%H]=W/V(DL9'$?N,;%1]N+IH"S[^[
M(0*)UP02HXO7PKE%N5&ZQEKG7J[X:0\65"].M--8?ICE"C)&C4B!%?%-F3SJ
MU8J?D0)'"OR=%?@S+CUZ4X/'V#0'"+V2%>! RW'CUBQ'#A>^!@>E<"@J<4F;
MCZ<!')8+'^\VNCH?X4I=@NC\:WC @Z] E<?HT"L7(.IL-KX<&#0&1(>BK5R]
M6) 4-+#@ZN4?22(JVQ_IXW?0QS-C@:,5$LX;7 DT9CP7GT_I^V*Y.:MD65\A
M SC I$Y?*_<20Q(!0K"!#BS5/Y^^ ,KF$D0+ZL!!WPV@ 8=J5$7ONKR=:][3
MNG38P4VFNNE!V%IKX%'6+EZAZDZUER8U=:6;#LPOTO/40B3PS9EU&COC(;)(
MHR.-OGR-/B=P^8A*D]52"K?53IN;J5K>7:2*3(MM^BJ]/K#.O%IP^QH#&@^U
M]BPXAX8;131"ZD&%<,K?P?,Z(R3)H(?Y8^VJSBCCVHC6T-H:,>]E$[8DIS4R
M;\$)!LJ8L<A5L.*(4D0B*-+'_,"(Z&1[I-*12G\-)OF@3F?%S*H]FUL9H:P4
M^OTRER]D3-;7:3K0Z5=/=GZ3N,JZ7F(01C&#BPB"JL"1OQ7Y6Y&_]1EPI>VK
MV]LI'V HYU)S@]2Z#$-*F83:PJR%2)#KE ^&?BU"'*EPI,+?7H7/"4^.TV%U
M27O);*\UUSR1[S>T99'RJH$.T_ZV*YVBOEF,I&*BWSK0FL3, 9H"\*=LKP4]
M'MO<Y1";FI;_>>1KA=+7BC:@PX8K5,.4[S9&J+'6G?K0U[0V4K3ZHYX=,%!M
MKFVR,ZKE:>5Z!7;&>$\OV<A )=97'5'8:P8J4LM(+:]%+<^!%?Y +^UQNL1,
MVO.6X%7&D[G)=.M.D_7U,BC:1R=.7PWXXL(8#Y=1QG3_-LJ'8Y+>N?%$Y!T=
M5<'KNFJ7AFZV7VTQ/^WNYR.BOC6Z:G!QT4MH]62OG-*K!6 5FR(15/1+8:^E
MUD>V(+(%D2T((7KZL#' 1BK!#E8%7J#SE&!YU1PQZ@3&P-\"2E[]M8^/E0")
M8!3K\L72\V(2D2<7>7+79XO.B$N.2HP33;/=T0?3#$=/"OEJ-3E-T!WDNM$^
M%B%3/W RBJE$FO@=-/&<J. H563;-9B?S/BJQH-%MXYSW4$%7_BJ2 >J2&&G
MSU$-?QCEUZ=<"QTY1M$6\N6;L,^\3WK'I!V^PI87^B:N6&..@QI7!IV"S-V+
MR+%)!LCBC*@BTN5(ER]?ES_U*NHWE;DWZ)6D418:PJ0+E5*[@X]-4_&5V<<F
MI[^,.GP@Y& N2 !"8N8P2@:)/*3K]Y#.E0Q2,PWI0_O.A#(8E!5NC',N/BPT
M57X)IPUDE1@?8B1_8*G7'*9(,R/-O!;-/%L^R(=5DQD8DVG6DP8<#X5NR9-+
MTT$E4$T$&.@?R<3I"XA=1"SCQ320LT.)R"V*]GZ_?K9?;2D_/P_DT80>,)-4
M,F_>4_>+ 3?AS-&DJJYT;X+,9% IE?Q!)5YSK2*#$!F$R""$$#K]B44H]&KX
M@)ME3,UK9EF^U[#J3;SI6P0_TO(CF3S]!=@A0TF',T*B3)#3F+LKMFW?VY!]
M3B;) 8N5,.-QC:A,\QR]%.J28LI48\:*9%"M-9'ZP9RS7%JDPI$*7XT*?U(*
MR@$==M1XT5MU6I3F%<;8?8<V6K5,H,/^T5_L!T9_QTHDO]ZZ\LR<3%1G OV+
M:/SZ)#Y'4?_0D *4<L*[SR)?+?+5OG:V;]WG^\1 [@E,W(927%W&U_)Q5PC^
M$7LC::0;=%$37+PUFE<7#F2;S8/"]D'NK-_Y_2#Z(DNI[]V$MOD(&?/X@Z">
M2EXCK8VT-@RS/;W6RL0,RY$2 )R+:<5Q=Y(JMVPV5%H;NBC(!5S6^&V]J0LV
M-5_G#3W,Y4HO3(WD[T+E[[MZHGR[GBD7ZI4LU^)]0<63OV)<4RBV^[X;>A<A
MVBBW^C)RJ\^ULD2"&PGN)2U)(5M_GA0SXE&?0(]-K>W)/-LQ)>W7L5%Q>P0L
M:*-_>O-TRITGA8D@9BU24AITZ8_WMHJUW+L"XXWM)'A_#GPP--9U1J:%B"4_
MQ,JQ=:R\!BQ+S"W-6NE>ST&LVRCAJ<H\P2\;"\2;,TW_7?L"GS#_$I85/&_
M  %JS#U#R W6DA=^G=]4BOF!';S>^<D'L3418N#A23]"*3U^$,2GX,*T9!L:
MQQ"O[CJV/U:D7P>I-\&7<SV1RC4YMY?35TLYE2[DPRH]9YA_3U@-K#F94S&W
MQ(Z3RQ(),B)[OOE_,ON+MNV^H#>=4@U.EFZW)]".;70A3PT<3[D>SK\R]6DB
M#42"&1$</1OT18$8X$L,,1U-&[YM+8ZP)VKP[/4U 8\"&(M"$U%H(NPA]<XL
MERVGAQU,\RC8[2\,CJH*2JA"ZI'R1,H33N6YEX:"RA?<&393VOU$K=%H#^1+
MVX]RS.FE122?>(1^*HQIK/W '['__3JBR:IS589!<M0&TRQ'U>5@5-'KG(OC
MDFR,W(PR7YP$S3V]J,D?9X!9&L"J6PA<.5#N -V%#6@%,.8@?LGP2UXAW$P=
MRXAN5Y6I_+C0>Q.T_\E$WP_>3C-3OIMNE MRP='H:3SM5BI.AN*:-[]OL4-7
MN#R%85-@Q>;^,RXS&+!#M*,\X;FKE?)RMT!K7G-9T&HE-RMC847TIYY\=D&V
M"PY.#(5ZTA9*F0:N:1F$Z9.4'P/X:!S@2@3G%5^(!-G.2.K9. >@;J[&1AP4
M.\B6D(D?*2)UD&Y;,NUX.5=!I;=B!<-\'3.D:B,N *)9S\+>6)T#I%\D_B.9
MH Z3:M?]^__9^](FM94L[>_S*PC/=$3?=PJ/=B1W]XT0('80(,3V12&D1 AM
MH(7MU[]*0=E5):I<MJ&*)2?FNLLX2V2>Y='9\APUS#157YMEXE_(P$.=E70?
MJYUO2%@1\Z(RWMHMK;)?6/&!.!@.AD8B811+?;:$?2R9?B9B^L1IK=D:F&*#
M<GYMUSKYX4#@$Q$C7T&QER)6!!IP)L!_E#(*I:U0VNHZTE;7?C7IB;HGINV1
MNPV[2F%>9HAI3MY:N])NV-Z66:JCD$F[?9+BT UKI+U(>S]K;O)/U1<(TBQL
M1C8A%\KM:HO":6DY-Z#ZP@O1U+W-).3CWX;'A.EWU=3C7\MHZL(,51M%:U&T
M]O;0YXRVPP]5:L>:5'4+>STZ@D%ZM*VWZ8)L".*(7"S9FM0I[V(3(NF23S.Q
MVXZZY"-UO =U/*<Q\'Y]]'L\PQE1H6AMNZX6;<NE,*SR4!_A=67R 6-/;Q9<
M74JF"T+5=(&> :KOQL\Y7=\4Y-<@O^;ZH>R,EL6CZ@D'S>,U+7(B&R;@BF!J
M:N;17G =8$STYGHF@U)7DBL%R1G/U@J9-,PGF(<<@R8#(I5&*OU)ULEOZ71W
M %IU/F@YUJ!<52M-MMGMS@RHTW R,OO W=& OT/\X@?9,EXX W[,1F?A@QEP
M W,%,K87H 9O?P)A-]Q:X6*[0T% ^^>U&2E/-%&$BEAXJH?[T2"-6!E;(!2G
M/743HUM\]/A;CL <62"S;7*0WV!186BU>HKM%,08YI)&_$3LCJ4[P/V%E!PI
M.5+R\P=53J?E&S'L"U)][<D%;C:E')&AYMM$RQFHY50N72GQUW5%72Y/WY%W
MAKRS6_'.SFC+)!GDF6?'KXY 6$:Q-.9!_.N@YP,UB/QM\N]'(*U!C4I$4RK.
ML6CFKMGR3C/[4D<AD_[[+/[ T6_UO41:C;3Z[K7ZG,;+[ZHURY)6JP(SMMGV
M5I,ZS>:H[:ZA6L/I0]P#1]Y;V*4!@N!;)CS0[?&>SC76D#_C_:%^*-G?\58-
MSA)W!XOM1H@\RP?]@.L0B\Z57M#XM:/SI:X]ZH#J3-@VI5RX6(-@G8/7#![P
M5VK 7[^=<;2,/E7V_  7:EYPNKG<]_@^1+[]+?GV9S1ZG\'!:^632R!J.4/Q
M"Q;@C0DA6KFUY744*IG.P#Q03+I2 H7FD/HB]3V_=?LN_=VMJ%%K.*Y-,:*8
M'P=JA=VLR3747^8=^GL-0;=3S(AZZB@\]K\$B<.0J;JNIZNA&O^@?4WLEB":
M!*9NJOXI9TDA9_[CG?D+I,*=!@$^-+1W!"7YU:Q7\P1;L\Q>94?'SW$*C*%0
M>#()G'Z@WBP(1:J/5!^I_@5:2._2?7-)-TOJUO8$IDBJ02_7*'I6HOO00B(?
MJ-Q;0W1O*]AW,(=:GIN%G/(]VX9WU,V8:3X(PN#_(=?N*EV["R3)W;J$9[1U
MFJ;K^3'?J@=]?:L:8]VJS0-:]==8N: 7&@5N/FMO.@I%)*E+$D5UD.HCU;\B
M6^=7=)_)#GL1SU&X59;7^9; ,R&Y64/=9WZF^_<2$=I/#7\]+H2\/S3D[Y1>
MWN7"X>T%@*JN9D>0A&W/AT?@P] W)U&H3FS0\V+GYXGO\P1.7Z*HNJ2*QBJ?
M#03@"3FFJ4]:2S-V',G'H!'VEN.(8 /!!H*-"S:HSH8;!#L@1K,=;UH#>HK5
MF)E7US0>XL8^X$2R;_44N[& $[O?Q5O#Z?:FF/UC /T^"_>&:39!W5-.YJR2
M,:;H7A2+^*= Z/^<R>'\^&-]-E:>T<1J_-!-WM7?%74G]3&5#]J[)E9>[:K#
MD2HVS$GL@E+0>,()^H' SU@ZC[0::?5M:/4Y+:#?4.MY-D=/Z,!N6(/==L%F
MLWFJN4K4&C8LP,D'ZLV&J8EQ\W^)0?61JLB\7Q7_?%/8<ZG1 +047]I&, IU
MD!L)@(SKA?'S0R]3\*!%%0 =_I28^DDGA)+IJJYF)A&K^ ,G?F;P]43[31/1
M3%,P.=7^K_"?OL'&6Z86+_Y_,;>3:OFIYX7P&)F-8W^S5=?XSQ?@9F5I+SH*
MH#65Q&A"R3& 5B@68 K'<D!A5 SC,(!SL;?SBU_]W"#_D<3,J#Z(_P9M^9AT
M:S.<F>X;YF2\-!/. -2] ^FUIZ2?J/%A-) )9@"$&35(UJI.[*4]?I,3ZULR
M\/)K0HO_>T*,4\D4_A.9>EWT$^I]F.R_5R')7W@WZN;J\<_XC\=G:390??@.
MF1V^\/LK G[QXQL$^\=IWOEOZC1!/7%X]L<F7F[]OY[N_8>?G]4\V_._/;[+
MGAQJMG>1B.2U9H#LQ >JE56G\?=^4^VUN@T.AV39KP3U^)[\]OU]",F0H;^R
M[#\R/WZ$Q$A1TE$WV2?T>N;J[7_K\:/D!?CXF1<DS?B^^<!60W,%X+.?/35A
M2N@MOA'X5^9,/'F!JN0/#OQ;S<Q\^!K][YY8."J'"9B\-;&I!U]3&6\*H3B$
MB/M=+-6GHOFF4"94S,:FS(_='LCXX\/GY$_1=?^/\8M8^R=<D?G?#)'\YE\O
M*/Z,<?@3>^CPA?N/7GG\(UO4/5KC&)ZC #95IN2442B-8!6.TB<*,Z4T+:?3
M&$[@7_:$./\+\V?Q@VJK)1;Y'K^/QE5;A:\9OE7,2')>JA:K?+<J2-]#!OOS
M%<1646A)0C'^01(;U?BWA:+4B_]L"JV>))8NYW#?MYIYNM?,C\UFQ%)&; M=
MOE>-%\"3?S_L)>R^V>X*E?@ U;Z0B5DC-H4+VMX_95>-]-C_T/^ZI%U5H4'B
M14'L, 0/&;#10 QK"^#OK]L]&A^GW/)[W]N_8DT<H&2" 75"Y28*KG%3A>+T
MG#+)$1,%HS"5SG%3FN(F!VU3'[V,PK3!E :@G!><@EH+2KMF Z^NE=@/>KDR
MVZV*6].:KRS5HLJ3%1'LBKF.0J17SFQ\+E!XNRVHH"SY.WNL3;N\0J97LIA8
M$_/58&J9=#_ -P*NNC.XDGZY<J 7C 4UGLRM^LZM%BU@%:?=M4(KV,N5*]9<
M37RI/\ &BVZO52_JP_&H$Z],?3M3(\4R3^NN18RXI>O1DC$4^'AEZMO],#\V
MZSNA;HF-'J\I%=7I3SH*D_[VW-0W"_42IPNBQ'/"=+-J.>VUDDNOS')9@Q],
MI9RL*BM^41M(DE'L*&QZI;"U"E&0IPG!+)6G1HM8MBO3CH+CZ:5%FA]/^6#>
MMK8MKFMU0+<US/$*3J:7XJJIK+MRKV69%K;>Y1>B4(CIA!\AJ4P&:\$O1!9&
M;'A[%[3"_&X<+SUR?F$W*]<5O%RURN-9A:O7\Y.FFBPE7RY=#^)3Y+I6SI(6
M(U8J9_-;860H^!%:-1=F>2+6LI0LLMJR1 Q$(*[7<&F*J?1Z5L3X 6A8S*B[
MHB6+JG6%9&F*J^8T,*S<?,D(638O-#=8O]:<QL3BTALH%6AY-K?6FE76+&U6
M6>?=RBX6?BR]=+=;#KG<E'-DJ5"-:J5YS1B&!ER:VFNUW\X&=9,++7'3QH<;
M3F(W5K(TM5=;E[:=5M/7Y/J282Q]JD7+;+R!(S*@9.=M/CLP)]B2KM %$K-7
M/9^'2U,;6)7'^*+>:9:QK%/=26)7&AF;-5R:VL!"*Q6[1:%9M%2N,6QXCC8'
M9/S4(Y+%\9HYYI<C31[XDQ86%EL$%\9/I=)+/;F<$]>X5I0=NB/IFR#;$E?Q
ML8X(X7(P\7VMS02RVEAP'K:L.Z$4;^"(N"S5YA+++MH*MEWE&E,R*O(Q["O$
M$=TJ&(/N8.9WX ATKL+W[+FB59*E*6(1,EX>.E[L1I=S_H*1-#.LQG 1+TT1
MBR9V!4XCM9)@CF=T)!843E_'2X](%FGUJU.*[).".*N6>\5NA<.]M4(>D:R%
M)>)XWYH-!(9R;$LBYV5AR,.@56HIH['%6C&<"YC47"WUNE ,+2->2J27\F*%
MJQ)MEI:W95H85MH!,6(Z"GF$L<I8:E9;=J4I#PB%(:=K;*3#'BU'&)N/^J1<
M'T]XS.QUBKNM7J[S(QXN3>% ..1K,B4XGE!?E;NJD1_UM@,>CA5)/;5ES5E3
MSE7RPF ZF[)VLX>YBV0"28I;H]Q Y$:#9=D2^YAEL%O >%+RU$=N);&Q[X[B
M/O@9.XFVN@C M\<?GKZZH6MU<!:A*Z'M?95G_H<:A=YSYR/YY)G#D/87TGYT
MZ#]N[/"%^-Y6>%^FDF&_LF^&YI_X,D^>[\7/G-K>^M'6>/Q[%H:*O^W=8CB#
M_J<>Z2$^\,P+4B>!9T?A2R_H PVJWPN$_&F.A'IS$@%BQ <Q O]*(XVX"$8@
M3EP()Q V70@CD$9<"B,0)T[+B5^LL/NIW7J9X;?SPO"ITS<_BXGN8_OI/U.U
M@+&+!&GPGR_TE]\].ON58<]_]C^)$/=F/@![ C3C?YT%^Y\%5P?Z<XH@6;\$
M6?^E,Z?X_8M$.)D&?.:EQC_5D._M")$Z('78JP/QN^J DU_Q3[[C^Z?J ,N"
M3U8V?^V6P9T+ H4@\?)D_O+._#.O\R;/?(^'1L)])V>^XD/_WDOJ@^]0_YK=
MT@4KX$:PP^@)S;(+O37^T8I]61>ITX)QDNM1%WO4S[LR58Q\%3Y'P97#5<B>
M]^1>Y(*MDZRQKJX%,Z2 "49>?M9;_]',UT2'2[[GP!IQ>(J!&<X*41!3'OC"
MYG"?G \"$/^_OA^@]O).50TC)I.)V12PR.O."9M:"$H!U@:27_ZFV0>2.M-<
M9P08"# NXJB7 QC44\"@%)U?-3=ZT\I:ZMPC![G!LJLZ?S8D^A2 H3BK7CT?
M[]R2/-MBA_*V68R,&#"89! \C;T%&)?G[Z>DO6CZ0 LSW@) [KA&,C/F-*W8
MD:OS ?P[75N<C]G\Y>#/N0V6O6:)CXI5@'IU!& 6TTXS)Q%AT5J2$[J0;>\H
MI\,K2;D\23]@W)D:7R'M1-IYP=IY;NO@G=H9#;93>SK&AI;3+6S-PD2SHN(Z
MUD[8@H%Y8)D3MI>ZD$B*!/9W_&%C*%5W3-<,0C\I5LJ S0+>VC^=>8!<HM?\
MA*N&J4\XS^4@U[GMBH-^EH$;8Y?-NSK_3$F%O8X>P;)>H;!E5Z/"V(JJ["IF
M0ECH&H:22[I$40\<>Z8F44C1D:+?HJ*?VT3Y;44O9@6C5='R@BP"?.#;:]*L
M-^ 59-B1_('$WIJ_= 4AB\=VH+#OD.> AXP+3C/E]EY=HL^.29X7HBXWX/JO
M,PQ'^&AKY%$9JXDN'C"IY;G? XHM<*QO+X.Y\S8U:ZTMQV\6-M( ]R-LK;#[
MCI7IB?"GF9B"%!PI^*TI^+FMD-]4\(7/A@*HL7D9*$LK6P@<-8\;L8)#&R2=
M,_G]J2B?$S6Y/$U'?M85Y9@_P _[[/->CI]V;A,HB1W'[MD!&X^%D1DQWQ7'
MDL(*IB=6^;957N6SO,)!<X?B'CCJ3"-Q$20@2+B<\UX.))S;:'H') CYDDK8
M ,B":8E3:0FRF['7B2$!%I; O.];T=C+B])<GMK?K[MW9V>^QT,CX;Z3,U_Q
MH:_"D4_986^WOTZ"()D)B&T!D%GX'J1';)[$?SUD(S*AND$735#N%.5./SDM
M 96QX07!8_VWZ48Q/0\%7YX;Y!,=WJ_K09T5-J&OQAZ2Z:K^MAH")WC_]-*>
M-:;E4D^706-9-7.46)@6U[ _,YED7+FWJL00.B!T0.CPP3F-CT2'S8[C[&+1
M:PO..KNLMW>N-1$2=(!%I \4?EU72"X/ 9 S="=GOL=#(^&^DS-?\:&OT]-O
MO^J^9Y!UCI)O*/EVU;Y_;+4?LF]YX(*I><PR%RHRMI/7[:)%!%[5U*+!8KA.
MAB7%?CN#G_'F)<*%2]43A NW[?6_!Q<&DAP,*@)/8UM6G>3IQE3:6@;$A=AC
MIPCDKR.7!KDTM^W2(.%&PGVSPGV=_OK;TX\]-[&;U!#H\$+@P9]'B7B4:D.I
MMD]TQMN^%]O8,-5VQ,[V;$55'-#IRV"(K<GJ9JL3J@$G$,?^=^XAQZ8O B)E
M1LJ,E/F3/.@WE7D:;-A0C6HKBZ%RI6[47[66U4298Z>9N[)R]E\S/@YE@6H8
M^N8DVH\5#KU,?-CLDQ*!V"39UPB<MCSP+E'KIH.$UQ,1S"(I1E)\]5)\Y6_E
M%@A_%+3Q3]Y!/>_=-6JT[(N&4/9PK) UA1%==C=XL:/@^T:'-]?C\,VW>4S/
MS"MO]*KK>KH:JO#?OR8=$J5H$IBZJ?HFJOK_E PA&2.+[D6003??+OX3SGHY
M,'KN2,4S&#T"D:VN%PAE;KT0RKM0'T3.&JNRL7^30\$*! 8(#&[8ICH"!HV*
MHO?GZV%17J[Z&F/;W%!;KR$8P& '>_JNT/>E[O?K$][9F>_QT$BX[^3,5WSH
M&W3K#R[] OB98*;ZO^K<?T/>/<H^7ECV$7_;)K\$/B-Q1^)^?>)^>3[:<UX^
M>MH9)GE^7@U,#5FF)TO%W5(8Z;,/=K*84=%<F3I((D:)_18HFUES,YDU;%&(
M<%S3W5E4,%;K$T>1B5^*&PFJ[\8D#-K E^ F$\W\'C_"OL>/JBVS$2ZBRE@@
MJO.\C9-9SS#X>$\PF(Q])<[8#Q:I-U+OFU7O7XX+GT>].[2F4,4@*%C;BC%M
M5\F9R-82]6:@>F/D;6747Y@C1=..0J C[P%EOU#VZU8LF8-2'P&[WH 5UXW9
MB!>DR9PL+2K!CB;6"H$?;!ETC1XA T*&VS6"7D>&#<G6(^!6"$LJ#3OYWCQ:
M-M<&1(9SF4'WI?WWZ]#=V9GO\=!(N._DS%=\Z"OTU7^6)A\D?P-Z1HU/HAI@
MGRP/,EX4!K!J#VX-I<)1;O!N<X-(W)&XWY&X7YX?AE+AMYLKNT"B7 !53AIC
M^G[WXA!A"F;#59Z+5CG9D96B3VI&FZE]\EVL1R.4W]N@K<B9 %^<)N&F0/QA
MB3[/O_VXGM&)W)E9V;(Y;*".)P,LW()!9:T0% Q)D_@#1;[5PQ&!!@(-!!HG
M!XUSW]GZ4]"8^NVP.6,Z'$8LEW6YWP7M,F5 T( C6=F''(W2]LC3N;WDW(<W
MN;YW(/PDZ^F@WRD\/-8.9+NJ3@H5ORNK^4CEN?*R:[8Z"I$TYB.I!XY^JR<(
MP@V$&P@W;L: ^@7<4-T)@>%=>XD!D=UMJ#)C9LTUQ(W8A"*)!X)$-^.1BXFR
MHK>=%47"C83[9H7["OW\GZ7\"YZS\,$,N(&Y H?6=RC'CY*>]YOT1.*.Q/V.
MQ/WR'*]??8&=?_C+72KP)36H/MNMV7ON3?VIXU^846]8GAN<(JACLJI%(2@&
M[EHAV _HJ(K4&:GS[:GSIPZ &8;CZE(PLG7!#*H@TB-&R(,.5.<S#8"YI.1Y
M&WK/,4-M4]UK<T;5YU$0.L -'Q*;Q)ONA\LC+P-Y&1?D9?P$P"!H_?/*C1 Q
MG '_69#K1V_G@][RKIZL:GM!Z(/0] %4W,.$Z+:MN@'_79U;(!2G/75S! *-
MPF CUZQQ27;:V'(4+-9C8<PK! <MFG3*_"^$!0@+$!9\I 7S<5@P%E;!:)+U
M@" JK>9X.]L (^Q +#@Z4N>OZPG'O#!]2IX/XDUEM,CW@:MM,Z$?T\A.V/K$
M"D*NVX7F!\^.8O?C?WVF)7-0P\)!"WM0"?>GC &M]T,EWP5>N]* ]COYA8AM
M@<#6*GE9$G<=A4SZ$^+86U4\2+N1=B.#Y/-5.O[%>#-'=+LY58;3MHNIEBA,
MLMVZLHNHF@%U&QHF9#I.\\>FR24%:@HSU35 QG0S4]7T,RO5C@",S>CQ8U8Q
M-5<@0/&:3ZUKOK5!J)=W7F0P070MJ,&L9'OK"M -4%9--YF?.@V!WP6:K0:!
M.8VY_8BV1\TD;+3LK5>#X4P0N_-AF:=45Y@8\#BQF43DSGC)%(')I2H7 I.[
ML<]^ T%>M<I(4ZW90=Y8RN)NT!DO.LM"I[B&YX)7)])(<HWQ(IQ(OB A:<S4
MIU6G^XJ=S#_MF(*G"XO?)23>-/Y=+MC=D>7T1N!HDU]UA^UUQY8E)U)5Q@?-
M]B2&,2*Y.<J>L1<TTG6DZ\BP.;F"OVJPR'U:ZH4*5K>R@2]NF\RBX<\238=A
M)"8]P>:FPD@]+U3MHS8,<O%03O]Z<OHW9K4<P;-'+(O_9D>0MFW/3URR)^-?
M>U[+<^&^?<^VXR75^ 0^",(CL#?8>,-0PZJND)U8_8%*U]V"RBLD"0T<]@%G
MSI@;0XB $.'6$.'<9L[Y$:%+C"7"'EI#+.I-N:RPGHU:!0,B0FP(L6^.\KN:
MR,TA=W8L9/,X1AOH<(AV?,[L$[+%B_9T0VX><O.NSLU["859),5(BJ]>BF_W
MA?Z;+_"=675E@N$;EK/>DFVC1^R(4FS24\<K=:\ZC/'SJ]1OO.(A7>%+ONJZ
MGJZ&*NP5\C43RTM&BB:!J9NJ;\*"&=0YY.Z: :()?[<?03D"G3E?J)I->T18
M$>AC97J2Z\Q*:X6D430$00."AKNQO(Y 0VWMFX);J(66ZO5KG*HWM.RL Z$A
M"8N\51N7V%7_EY@;EZJYIY&=V# %V=G> ,._$KFGPJ0!:+$^W[@$0,;UPO@[
M8BNLX+GQ]@*@9Y[UORF9KNIJIFIG8H$*D[MKP=<3[?DL&*B;J\<_XS\>'Z;9
M0/4A+LP.W_A=Q>&S#ZB 8?\XBR(_ISU!/8F$[<]-OMSZ?SW=^P^8RFJ>[?G?
M'K'HR:$.7"<26#) =N(#U<JJL'CLFVJOU6UP."3+?B6H1P?SVW<\@V3(T%]9
M]A^9'S]"8J0HZ:B;[!-Z'4 P:X-I^&W_6X\?)?CU^)D7F% MO_G 3LKBX;.?
M/35A2N@MOA'X5^9,/'D1BB1_<.#?:F;F0Q3\[YY8."J(\.<88&)XL__UU-,Y
M?/3E[U[BSWA3J#\A5)/O8JD^%<TWA3*A8A;'OO[8[8&,/SY\3OX47??_&,.G
M]D^X(O._&2+YS;]>4/P9X_ G[[/#%^X_>N7QCVQ1$WA6.$+G:(S5%,!.:(4B
M)YC"8BRN:(26(UF*RA$X_65/B-,P,N5J_@3IJJV66.1[_#Y.4VT5OF;X5C$C
MR7FI6JSRW:H@)2S:GZ<@MHI"2Q**\0^2V*C&ORD4I5[\9U-H]22Q5."E2JDA
M?NJ1OF\R\W27F1_;S(BE#-QH)M[I0#KA:R:]L>03$[X_PF^_%B#XI^RJD1Z;
M:?I?WQW]"]QEU<V$,R\*8I,J..5&S_$&/.CDE(P5$I_@"D;BN$(Q#*E,=!8H
MJJKA-$-SF(Z1!P%6'XVLOI4+JN.NX%E,JVJ4.GZYW=$-: Z^7.GXDX+OVQT*
M*Y=%3RSF*D.L92A$>B6W8_&H4N!K&"C[NR68#(R)$_MTZ97-07,YFA876V&Y
M7M?<>LX@)U9LXBGTRY6*YS7J9J\O"-F-HY<MFFZ:1$>A%.SE2CZ/A]..H=8Q
M( ;RK"!0P73'*W1Z95V2.]U1;MFPMD.\H!4V]F8S-.*5J7UVQRU!W*W<ACRP
MA_D5*)F+O@U7IO8I,ZK6K4S'D54@6RZ^D3C2'1D*D_[V7<Y=;BECQLFFFB^O
MUY'>\3J\DDNO##VQ:T_&4]4R@_Y,[2J-L3CM*&QZI4_LW-XJV+D"LRV,Y#HF
M98FMH7#IE1.B.>&V^5E'&+#Y:<^:C+E<FU=P[ B9QLYPJ79#3(@H>8A)2F'"
MQD>*12S]U.%F ++5JB</PL&D++68!29W%)Q(+_5JKCC&1DX1VXYFM3DUM-FV
MO%9P,KUTY%8]OEHD<H*X[?.RTVH5&IMXZ1'FT_B +SJ,K,G.N,H[M:VS&D3Q
M!HYPOUW?V1N'M.L"*+BATJYMY$8[?NH15F7Q44??9 LCJ]"8DZ,1%2J1%Q/K
M"*]T1^SC(VK2Q@I#=F-;;6.U9.*E1YCE%)1^>;*=X/)R4RVMF*5([?1XZ1%N
M#;FH1YK$T+;$3K4UEO)-K]R+=>\("X*\J'DF(856N3*)^*Z_:9;G\=(C+*CM
MFCS'K^>.P.A,$#' Z/5!O/0("\:]KDK7NRZ%U1=;OE'7LFY.-.!<AM32+MN4
MY-',"(3MKE:><+LV9JMKA3A"UZ"RB%F5YQH"(2ZK_2Z56P0"#Y<R*:1@N1IF
M+O"50$1Y*COM2QS@XZ<>84&6S5:<7!2Z@MFL;+N$M!;9>M(5,+44+XX(+7)"
M%2.J0E_0O68@S'EXDS6U-#?!K>X(Y\HRT9UMLM6^/%'-#JQ63,MK<>K,HJY/
MR_767!G7Z6U4PY)T0&JIV6T+_559FPC1MALXPF"3M8@D_)5:.J]8U3)F=6V+
M8?NM2D0.>UG5@$M3<*7VE^7=<KX0+4<DL_U<72U%0O+4%%X1BP9+S.D(DQU_
MG,\+^(H+X5Z/T)6@6-,IA5M&'FA9;;*6IK6@'S_U"%UI;92O+N>CAKR<"ILF
M4+CJ(-:">&EJKV23GH]G[4%9'DA!?M$ =:YL)D]-OP,JNL'6N;%LU2>C&5_9
MUA1E$K/@B,)XA<Z@QH:B@IGF*C=BU-J2AG3ETALHMI693S2J,TS$>B5=&E"-
M7#]Y:FH#H69VJ^.QK<N#DE3K2U$K(/"U0AT1%TRNT;((-" ,QLMN<:B,XS<K
M#Y>F-N"6AGUEQQ<4&00261GE-D$GVX%+4V]KPIF81$\J:MB@6_?*E89?&JV2
MIS[N=9]B>70C]Z&MV(6TU44 OCW^\-0>@8[7P96$CH:V]V2>>2=J%'K/79/D
MDV?N1-J;2'O9H?^XL<>(Q=X >E_R*T<F;N7KT;@GGLZ3YWOQ,Z>VMWXTH![_
MGH7!P6][IWD=T^FG_NHA>O#,1U(G@0=GVYS<=7VWE?A[89(_C9Z3%&+$!3 "
M_THAC;@$1G!)A TQXM,9@:#I0AB!H.E"&!%#$X$8<3I&_&+)UD^MU@^.**9"
MG1\TU>9M6/Z8^LS8_8$'^L\7^LOOGH/\FCMS\>V;B<1W!*Y[,Q^ 3#/^AUF0
M$5P=Z)GG]71(@)$ 7U"Q\2\+>%/UM=F>."3^\$@E).'7*N'I/X_+//&[,H]C
M7W/$=<L\K-0\657T+?/YZME,G0+*+ON"@!K,,M"7"#)3WW,RW@+ *D37R, R
MOE7L(H#@=,-#H;!_-CE.=U4H<:KOOFQY'VV[K$O/+V .R2Z2W3?",5<BNY=G
M2*?D\]7)G5=@*%V>=/XL:GNAESM^EGZYM7L:GSIT,T>S'!YVPHWLU-C&UN#P
MY:  Z^O..W,3*>/U*..;"8=;4\9/'9EIAYOFJ P<#=MVP+ \6K<:Y2PL3#WU
MQ,P+\2Q_#*I(;C#Y(.:,9MH <NB8'9!TE(G_ID&G<^%[*Q,&Q"?;U[S.Z[3:
M+Q6[/EM:3N:\?(K'>7E<1<)]H\+]\2[IV;AZZ3[KBXYH1;"(7V+F8=:AJV=4
M!_:2VR4?(,/Y0@WGRSLS<H%/ZP(_U<OX9QL<AG#P3]3SB#VN3^05RX[*AA4M
M-U'0M]4J)QE*+IEZ^$ S)'*.D8XCS_HR/.O?U'%M1$]*V&"WQ<"(V^8*Q556
MJJYC'8?-WAX(ACF)U_V:$%R"(_["AI%"3[.R$Q5V$H$-[8$;G-9\N17;]+H\
MCLLCPR4F?F_,[I%FJ@_R4)4+3S3Y6,_+P9#N9BMR#Y.6DF@T>U1=V!H*FPPN
M?&#9M]I>(CA <'"M@8O+@H-SFTCOAH- <T,C% -%!KU:0ZNIF^FXQL=PD!A%
MV)'Y@U<<LID"WX]MG<<4P\F&/",W[LKBIBCD<M*0RUZO]HTA>U"K]E-/"_&'
M9G@L_=F?:^UM>U6DK7);&>0<A@NB#NQW \,MU)E:QR(MO3(M_=R@R;]N8-3?
M.U3SU3%_^6IOC,<8L<;$9GU<8F5YWLUW8AV-+0/ZE&.)+S RTH:M;F-V:]Z)
M!M@@]P>Y/R@:\I$FB>E"W\?=SZ^(O[IMJVX,@SZ(G:(BV/]OP3LZ%L0N]QH:
M;>[:,C$;U)=^0(,FM88]]N H8^I,HXP11""(0!&2CS2-_@ BUGDNY+N*UK<&
M4;'+"7Z^PQ82B(BM(Q)[RX.YLJA)8::Z1OPHTWU:>QD$( R2NA?;5!-U.&D=
MYGUI^Y6[:1_ K[?=M$]G(!+:JQ/:,\<6/DYHK]G9QHGD"WA-BW<2OT]\H %S
M!3NA(HOZJBWJ<[]O+LLR_HA(X;D]YI=V;]5]U,KN=Z4\8@>/"IV!ZPRD/F;6
MZC3M-/I%=\[#QO%)X21)IPLG_T*ZC70;>;V?X_6^4\U?30J8JW%I65OIME4N
MTR*%->CN=) ,BH#U N1;=XBOQN\]6"5M'RQ44\^ #:R? 'MOUPMGP,]HD>\#
M-SRXP<B!N$<'XG-+"&[3Y#BHW&/64MAK'N_J(E0[/M&V(Z!$=%O$LJJ80]E9
M]_/;!:XN^!P/1]+$1@B5QJ3362!(8V_]S)]>AG#S!L@[E?Y5DV11\5O+]MC>
MRO55>SK'YJ%F$,E *CAN]C27.BXV=)+0Z-1V"/*K;LZO0C&3#S%@$G44']-D
MKQHL:UFJ99MCCA<DHEH>C\-J?5/DX6 \&#5)0Q8*F2#51B&3B[%87M'R5RV4
MOK:K37V&L>1ZKEC7[$Z[-AEWH+K'%@I%G-Y$N8!4SD+=)A/MDM88FN9'X$DD
M!?E?%^I_W7#$Y,8J'%\/Y+;WF@?OP^_UKO&C0N<(.)&S]C1/K-9C;* 3<\M=
ME*M++9F\&]LB#'/&ZZ!(>:](>=%=C/.E7GZBL:_:%30ATKX]4&<"0<G48MC:
M&ETX7YO>%R&^&?B\@=C']_N</E@!-SJE78'<)%2'?:F1DYLW9)*2[/@P S.<
M%:(@9A#P'Q%Q>P0&<:%%R9;+FQCC*VQ#:S<%RS 4G$FB*2RZK8%0 MW6N#GC
MZ5=18E/K3ABJ'7"66)?[8. (/-[B(4I 8^D!I^C;"L,D$9= M54_MB(?,FO5
M.)2P) -?83-MX(*I&:)HS'TZ=*A^Y?26B^ L;&\+0'>O8N]TXT:MVJRPFU07
MF)/WJE:XJ@N.&"-3TGR4.-(- ]6OW*7&HA#,Z:V(W]/887GL^.,L:V/ +^MM
MT9N73*,#-18F=(Z,[[BMP,N^F\B3>MBDDQ:*OIS?K_KL(:D?7)_RV<>].P/F
MX#<DC8(.4>FW<+#.UP+99PU;4'.\$=C%@&FZ:P5/FHFRS#DM%X01=X<1QV,L
MGWW<>X[!'(>+ERBQPNO-8)>=32S"&=7]'+TKXYP!42*VE@CB-N(N;/(%K?>.
M+$-!ES]"O5N%..KSSW8Y>'9N\R=65CC3OGU0U?Q6#F"GQ!^%?=^U]0BH&4MU
ML'2B-2]O9=;M$[H=9EE>P?<M3+$'ED'S5)'.O]>L03K_03;,'^E\MM]I5AF#
M"K&(ZYK-1L-CF%H'ZGQLR# /N3=5_BKB/OB;ULU;2+#_K:P-IN&W#T,&Y JB
M-/P%#'N]BNYD=R\>2$L^=VKL);=#^U#C\=^39\]< TB->%NV'O\CM$XR4]M;
M!YFI[SD9TUV!(#WO?(*<B;O, :->FTAHKTYH4:_-"\C='[HYJPLS5.W]54S=
M#"/_A".P[MZVNK^<',K;?T+@NJUN'>"&0<_CM65D^J#MPQQ3N(4-[$/>U87X
MTP5<<B2(U<KG_.:FUK0$0%/3@EZ6BT/:4 AB/P"4I-^L7D((@1#BQK/VMU#H
M^$<(D<,T?>P0KBILEUF!ZLJ8;NH\1(AD)BA)OEG7<^D.^*LI^RA(1H,>];B1
MWX(R=]>6K;\%2^>5=%WU446?I>M>+5.<-;-J@'N>8IG#FM@?XUE^NHI-'O(C
M3!ZD\3>D\9>=J[\%R^4T&E_;^:MRW@<+K+X<J%VEM"FN@C74^/.9,)?LVZ02
M#2CQ> $^WWV1 :7GD98@+4'I^8N.#OQJ>GYJNJJKH?0\RG1>1E.%_6%.=B0D
M@E<G@I_>)>"X"%Z%3_5FZCQV2>,=Z ?@!QO@:V8 ,MXT_EI/LS+> OJ1*)N.
M+,(;\)M^HN8W=A/L4;5+L69+4)G%O2X+!R77CV7)S D9XC)+"U)U)(^$<:,]
MJ1D*D70=Y)CTW$L$# @8KM]5_$5@R%Z/Z_?R=;]/H</WN^VY1C8$OI/Q)O%&
MU=.^Y^]+:&\\0812PN=^5W?!XE#<(DX;L6+V8KTL@LFQ0I;:T&U-!;9BRLL*
MO5BOW/Y,W:P5(K>_HWW.T=1(J6](J5'6]]Q9WU]0ZK!<D!LCCYECXF[J%C!0
MHFH;'BHU[";#I>>57%MB]Q6KY-@=[*="N_!!-A';5[K0_/-0W_;7T9AU)H,2
M6O=0ZGMY9+K&2P0W%OYXI>:F](@3;S;%$%913I8W&B9DE6"8FU'=7),S%.+0
M S!=6H<0!B',9<1)+AAA;L&H^R58>;64;[T;CI>KJ9V3!Z+)#7N!6O5('N++
MN>R]B]&.SZS:NQ@BW$C.]_+.C+H)(&&_FS.C+@2?/?+\S;(Z83H%6I)K 1MM
MIKH&R,2V"LCL?PXRL?&3!#3@R('D![",S%5L*;AA<-)J.^137*)/<?:4S>4=
M]WZB#WO=%Z?"0?.[L>*++O0<X'_"#T7O@B#T32T$.OP'WM6??_!DY;$[@+BK
ML>N.7Q)4NBD)Q7HGAQ5XA<22.X L@<(4"%+NM^?!C77Y_1A(Z8P'QH#,$XY0
M+G#5L#V32-DQ(*3 B9)O(0J*2R!7#;EJ*"Z!A!T).XI+7'!< E92F(>Q1[ W
M$ I"W&Z!]R<$&>['XC]W$.&/;/MV3#Q/3X\WT^P(\N2I%['W+(XX T6G62G,
M"B$E.\U&H5QEMDVL$#L#25M%[H&ATQU'$%X@O+C:BQU7'B'X=+S0UT.UVC!X
M4E9%16C.:RVQL5I#O&"^_$T_X$>&IZ+X 7*ID$N%X@=(V)&PH_C!5<0/"J_%
M"QXR$Q _PX6W,+QI9I%8%"B(@-*.J)+A=$X%'RCB5,&)[VY$DP4X/FP1>:NN
M#,G&,L<&;//3W(@C7D%E%/FK+:=-!*)C%#K-,;VUQ[%70,$H L4\L-P9IPHC
MQ+@[Q$"%"F\B!JDH9<TU#6D[%J*)@6]IL<?NZI>$&..Z/E%GG79>J/MV1>ET
MENP,%B%02:=C\H'%F*L*))S,O@+QI^>QK.X2%)]! AE#@NY%$QM\#@3^SYF:
M=7S"N3X;ZW[D9+8>[S(F$70P!P\DI<%J07_>N2"HFW75>H46%TV!B3! 6Z4!
MR:L=A:2A<40S#S3]%M0AI4=*?[29QQTK?>Q6#/(<SYDKV2JXI5K3<BNYBG1)
M2F]F!^LRQ59=(0KKF-_-DY3?7D.EA_8-^\#EZ)/;-Y?L"'UF[N22Z7*[>>;+
M(P.:Y("T!&G)159Q7'JVYG)"!U*T6-@ ]AQ3[8QN!IKM!7 :-@P::(]3'C*F
MN[=]8K,"C76XY-3LN1,KMZ&T2&CO1VA17< %=&W<]Y).PM0+U=2A)PTO%'@.
MR(3JYH2#A>_>W'IG\NY&HECO2?7?56#KHR\<5!,E[D$=;L>*?21R-?%R_=JX
M0;1D &K<&",V8<TU%#)IC(CCJ., PH*/2^+?-1:<^S+!S[& FPA]JU*32<R<
M[Q;TT)W,2A4>8@&,8M.G#V%?B*GC+0!DA6MD;'A% @W-0.DXE(/_1*M%?-3'
M!E3'PXB;8VFW\GI@AN5)<R2(66SIL+H[X>HQ8''0>"%1HAUI-DJT7Y0-\F[-
M7O36I08Q&18L!JQEP!N*;_@=J-FP:Q&3[J=\RX&8$/@@")'CA1RONPS"9)'D
M(\E'(8<K?-U7#Z\N&&]H@6,-!LP!TVVVJDQ>KL=;E[LVOA'['85*NA,R[,]>
M\_\7JC'G3J6KMNF"[&R??\>_$KEW*2_S?MT]N?AH !+X^38E #*N%\:/#+U,
MP7/CW<"16O%/R?48-8S_<AANH=J96(3"I+P@^'JB+;X7],C?H)MN!@M;W4*)
M /\Z&:M3\//*CG\%I75S]?AG_,?CLS0;J#Y$KMGA"[^C$'SV :(Q[!]GP9KG
MPD)03\S._;&IEUO_KZ=[_X&D6<VS/?_;(UP^.=2!H$2"G ;(3GR@6EEU&G_O
M-]5>J]O@<$B6?1)3^?8=<B$9,C2TQS,_?H3$2%'243?9)_0ZX'36!M/P&_F5
MHG]\E$#LXV=>8"9%,CZP8R!< ?CL9T]-F!)ZBV\$_I4Y$T]>V/WD#P[\6\W,
M? C4_]T3"T?E$/X<BW^,P/:S(MO#1U_^[D% A-5!!8C[2<^W@UBJ3T7S3:%,
MJ)C%L:\_=GL@XX\/GY,_1=?]/\9HK_T3KLC\;X9(?O.O%Q1_QCC\R2OW\(7[
MCUYY_"-;U.1MHDRG!*8S.JZPK$HJ%*UARH0B6"6'$1K-Z)J*Y9@O>T*<AI&I
M>JV?0'.UU1*+?(_?UT]46X6O&;Y5S$AR7JH6JWRW*D@)B_;G*8BMHM"2A&+\
M@R0VJO%O"D6I%__9%%H]22Q)L9#4*^*G'NG[)C-/=YGYL<V,6,H<-MHH"ET)
M@B6>^U=&Z,C5WNCC7HMO5MGU*EU!R#3%5J\B983X1,5,D^\6*AD2?\C &&?"
M)V@C?:^N.]>FDT],^-8^]F)ZZQ#_E%TUTF-K6/_KDG=9=3/AS(N"V'0-3KE1
M_!TR\,<6W %I2%:G&4:=**1*Y10*X!!I,%4A)QRE3PE.R^F/2*,^6KK=^;:0
M7=ML%F.J.<F9Y"M]TUM#2YQ,+0VM66,T8C1,!;0B;%O]2E_A%4+)O5QI%4>,
M7ED6'=FL1H-\0\N33;(3KTP_=,A09KZ]Z9ERUJ1GV:C#2_.Q$2\E\)=+Y:(\
MHDLK/V>9XKS0K/,-H&SXV%$@7J[$VD,P%0!0,8?T]>V8X/U=V(E7IG;:8Q5+
M,?#"')-*QE)G#$(JV/"9./9R:4$-&A._.O&M;'?D548:H'O99&GJ4!H&%OEH
MW*AC6T%J*9+!+GD=?C^>HG_8-\:='>NK0F3V-ES$>]45,."A4N>O*=VNL6WK
MN! U"DZ.$7/Y"KU6J/3Y-\28H_P!-K6RA2BP^UB[EZ7@2NKERBDW,2UJJ[A"
MO=<R):>W+;14/EZ9HE0?TT?E7&L\L;+5QJ33KI9\DC3BE6E*3=:U6#P&6M6*
M!O4\C?=)=X/#AZ8IE;5:RE@-\F4YVRZS05UAPERA Y>F*)7?5B;B=-@4Y,A=
M]OG=LA&VR.2I[,NE)#,L;+B%',DJ/PG=^7;!E<=PKVFBTKF&P,T=51) 3=#Q
M7A06=P/X5")%JU6>($7>7XXL(K>KDGX)#,N]CD(K*0+DI@8V-MMJ6S !7N:&
ME3E7RL*5J6?.>L4>OFUP6PN0ZWQ4GK4U33/BE2GZC_I:539V%4PHE%9LM6D/
M9QL//C--?Y\8:B4Z7]C(628R5^5%:5X=\7!IBOZZW\NWMI5"7=[6L/H\5VGO
M"GZR-$7433W<NL.!3UB#+54AJ2:_H))#I2E%RT[;X!EQ;)7KN8TP<CEUM%LK
M3)I2RU8H^W@.=S!I%%56=3I?LY=P94JF^QW9RVW';" 3[:DGE)8"JXN=>"7]
M<B6^ 6M9;'HBQKC-58FIMLGE JY,'0DKF8X#!KL5!EPPF7;JU5U%X^.5>.I(
M!=VF.\NMZ I2L5@>1!AK=;H&7)H25,UCLK6Z#OJ6VJO4>VR+[\Z=Y*E<2E M
MQ:+$#K\6(I^;,H'1:;2Z<"F1.G^^+41K7:QWY4);&NY$O^MQ.U[)I6G*3A?2
M5)2"HE"@HP6^JM2:5M.(5Z:>.<'FELD:744FR,W W)5:@C-<QRM3-*6VRPJW
M9*.-0.B&N\A;D[ZY[<0K\91&*0+75CJ&UY2C[JB#-_M68[A.EJ:(*C%4O[A2
M)K8LZO%?#+[)K>5D:8JHMC.>#<>43UF1K6U6>8.?R X\?IJHM;PN,7FVW;"8
M+K/30L$PA1)\:IJH,ZJ4WS%>;2D,FJ-8;AS>$9R.PJ:)RIN#JLKU^;S% "Y8
M\-R GLSARC0!"CQ5LC%.&<O+U697Z15$'"^LX=(4 4H\,6R)&\6652D['M-4
M U/U9&F* &*MXQ8+2ZF-22PU:I4ZF.+A!ER:(@ SSPWS+B"RLE1?46%?!^.Z
M!?>:)D ?7U-N7^JVXM?/K)C%"">4#5[AT@18C=G06S;5C1SU9*R.-3;T4%K'
M*],$:,:*;*WK[;E0#POLJ(=18IF'#TT3H#ZD=NW&H&]AXES=SO4""(9>LC1%
M@,E*GP\+RQZ(+1J]'TY:U*+G)!M($<#<K'QY%W(\!D9YI<--!)S*&?'2- 'X
M\L+"_5I0P=029;8\MFG;,MP D=(!A6BW@FFCHUEUKKB9F@6:%!0CQM\TL20G
M7S:J]DC%F)GOT6-*B-1^LC2U ;RXZ-/9<E_'&)S )N6R'92G';@TM8%B=DO[
MU&P68J)JNVLPVU [.WEJ"ME8@:'7E>%VBC$199=<3?6;\2LX7IIFUW@K"@Q#
MY3?"UNUNC.VXNIMKR6/33%"W9G''6*N9Q5#S[;(6U-S-<K\VQ85R)52"1;/9
MDZ4-OQP,RRSC><G)TFQH5QKMJ1-V"=E9;SL!7Y@VL'9LAN)IVI87%2=O6'E)
M+HAY99/O=GMEUX!+4T\-B\W-PB_)6V'9D[J%[!)G)[%U$R]-T=:=>[DNKIJD
M52CPCC@DQJ/<+%F:HJU7K*I@2->WLHI99M4+6471.G!IFK:K1KG Y*MM4<BN
ML9R >^6ET4DVFZ;MS!BTA[FE0%E.P6DH VM1;_K[YZ9H&QLLE86AR%.L/.5S
MF!$VG)J0;#=-V^S8[_JXKFHRH(:EOMW;4"NW QOUI&AK*Y58%>=252Y7"!=G
M&MNM2R1+4T^M9CN4O^L298LQNOU1HZL$*R%9FJ+M3J58W*<<3'8XHCP$TGPT
MB5]=\=(4;3O-5:%B:SU2<)2V$))!*=YELC1-6W)#\]:X,YUA2[DJ:L0V,(J=
M_=H4;8ME=^40K%JW3+Q>=THK,&C.C&1MBK:5!>55<Z,*(3 S<QOLQFM:7^Z)
MD**"5R>7QM)?JQ;#&7.WT%IQ6.P3X62:MO6@UZUJ>5>U3-GHCV=RT6P5#+@T
MA8K]<EFH3^2I)#O=LACEAU*7!,G2E%DH9[.=%=EI+"Q3HJQ637>(82E9FK8+
MYU9?G/+;AHT->LO><& VPXZZ7YLR#.E*?<)96&<@9)L5A_!SW>EHMU^;8EK0
M]*AYSL\:PK(H47Z/I05^F:Q-V]MEGS$)B:$K@B2IX[P;S7)+>9VL33LG+D/[
M0FR<8A$7.&ZQN'774,B/6-QMKX<K[8T3PWC'R >368NLQ#8/?L3DK@C,8)$=
M]OL6X5;8K=PQ-E,V69HB+LG5UX6IT!)E,V>(]8#LV$'\)L>/&=UZ8VGD=):9
M6E&C1X]\%;=GL7F,'[.Z2UA8Z;%J0Q-,>5(=LRNMEU>2@QTA;G%(+>@%5[)4
M8R@1([E>+G+)VC1QY\R@M>B:E;PLV>N!U/)LL*PD1TL3MU2N5S:+26MLU7?+
M0G[:;;)@%._WB)%>GF27I2[=65M;H6J76ES)'84&7)K6!RX@24ONDUC64QU<
M,$EZY"9/3:&"7:>RH%BV%&%06$[6>;]35+/)TA0->J5I@=3[V[X\ $IG)!/9
M10/RX9BA[I0<W6O.*J'E[,9UIE?HU7-&\M@T*O1M<\,Q?=64P1B/BJUZ98%5
M]VM3J# R>5&83#Q><):1HZA#J]KN)'M(HP(CL97B@/+[\E8AR_Z@//$5.UY[
MQ%C/ Z-@$#5L)IM*66CZI=YRD4^6IJ,:JW+8JW<)1QA$RDYKSHC=D$F6IF@[
M'Q.YQ9 K=['ZJE)P\U)IUX#,S:5IJS55 D3=13,V46B14'O;KM#@X=(TXNJY
M!;YDZZR%,=U>JQ>YFQ9-)CM(\R'(59URGRO'GJUCF^7R?-Z;,$:R-L4'8.7\
M2@F3>$&DU*PUM#J-;GW_W!0??%Y3V:T9-*WXS3 SYVV)6@KQ<X_8[$$3M^T1
M9M!RE@A6ZZ$?C+=S'BY-RVUN1^4[1"&+;:=C;MVPLDNCOX9+4[3M"]:J&AIJ
M)$CM:G=;&A65["C90)I@#5\(LGT]<@6FTAJ(^:'&A\Y^;8I@EF6W9QA=)S%G
M8WGRM+UN1V&RA33!&HJXM;0);P@%?=G79QJ=75G[YZ8(EET3W#*/"VN,"(EY
M76L3L=IU$BJDR##&1=W1*0''MLUZM1I6QBT)6IA'_(%)1\L'3/RG7- U/UOP
M5U:5XN'2M)-!N/5V7JM90C3H%,2!L[:+N>2I*>+J;ECK>0J_L@I\L[RIM&E-
MBSW">&G:Q"W0N?Q,RC'"MH*'/D>O37NQADO3?/#ZVS9GDR"+J<)"*(])/5N-
M]FO3?D;\ENG;;IV7!S.:DMV.N"/H9 MIVHJM5L2*32VTS*&Z;*R[5;S?WA,A
M[6M&RJP*9H:,%<A:/T<8LCXP.PIQS'W0QJ4%,:V,,&=&Z0Y.E3=VR,.EJ:?6
M6^1R5EO/6Q90HJE>E4%GU$Z>FJ*M7*\L\^6-UA8822T)=#BH#6+-(8ZX#XW.
M3A+$R<83RKU2Q9E6JG4UNX9+T[1U5V2%D<#$D@=>;SVBE?*:8O9KTTZLTIV4
M/-4=6JJT*#N\&,[#2G*P-&VK*[6TL(!1E@<C:CG'1U9?J"8G.V+BFMB\4ITR
M66O;J9KTPIELR-BV(HZX#VJV4.@T[ 5GU2T-6]A#1ZTMUW!IZJES)U<L[I3Y
M$BNKKBO3ME,R11XN3=&VQE5WE8G*U.4"/VT5Y;"Q;L4O,^*(^S#-];S&?#9Q
M,;4BA@O?J3>G\^2I:=IN6ZUUG>1&DB4R=8QM:A4P%)/-IFG+"BJ_4.L=VMK.
M5^4<-V/SF_K^N2G:NCX9%)W21L0<T:BO92/B.DRR]DB(8+X8[S"6-F5)G5%,
M7BL-1G),VR/NPT@=K(K+6F6-U:TQSLS97'XXXN'2=#!5+034CL.&%C,9*]B(
M8594K@.7IJRP;&VN]#OCJ6"97*E"S#FGLELE&TA;8<3 :BV)OM6SEGR)[\N>
MPDZ==;(VG7HP9+",=B/"JGO3\;"H=P"')5M(6V'Y:G_7Y5>R(C-EM1N-@VYG
MO$GV<"1.+PI]:Z[L+,Q1<D39+'7RI2C9PW<K+*D/^E["L*_\TCS;5A<!^/;X
MP],T$DP&'<H88));VV?1GV7&U2CTGJ?%DT^>I;+3F>QTA4?H/V[LL>9HGZ5Z
MM>0M]+Z7,U)?&?RM6PA/4NQ/'N[%#X0-0QYS7(]_S\*ZN6_[:HUU3*2?%DI\
M_W=U$GAV%()_P9J)<Q2QO+N&\O>*<]ZN,?Q!</PKB>A]=GK_K*:3_LI^)A<.
MQ5K/2E*^,^2F&)$(_NM%Q$@7/E\7L*]<#NG"!3 "@=*%@!*-0.FS=2$&)1+I
MP@4P@OE*O=E9"S$"@=*ML "!TI4P H$2 B4$2H]<(#Z3"_>C"S]C1.YKCD.,
M0*"$0 F&,G+(4D*Z@'0!>0V7PP@47[T01N!?Z3=[=B)&H-3/?3$"!320O83L
MI>^@]&9?5*0+'V<O(5 Z(2-^L9_H3TOSKKFOX+OJ?Z[Y@+_KA%S3I*(_< #N
MC_$_L[5O\<Q(V-]A5=XBXW\6\[K%,__,AT/"?J.,1\*.A/T*&:]Y-OSP/U^(
M+[]Y?NXK=N8))MCBS_HQ\IH6.9$->Q4_SAJ=(,Z?)Z>+5/Y&&7^/[S?DN;PC
M3W>+C+]'-QT9<_>+['<W@NYG68UK$O8KSRBD#/:;3S&<]\37:LQ\#E60:%R>
MN8/TXW*H<MT&T9]'MW)G/_\?1[?B_<"R"-5&8:TK8?GO#Q=!2(#BW*\B@1C.
M@(] X"FWJ=_E-DY^93_ *[Y"%+BH:."?$N$D;XLW+WQ^/BRT/#>+4 &%QU!X
M#(7'[B$\=I*7/T?\X\5H;WRQR20SCS]CLO<O@W[!<QS/W9<[2*&G6>@-<"7.
MX9]R'DY'SYHNXO>=\+L+0M5T@8X8?B=N?@SM"Q_,@!N8*X"X?DIW_YK?^#T?
MJ$'D;S.G?=TC=__*W/U"_)'OV7:\J0Q"AY,PG?F:8VXW%H@<Y(NL&\!21'A+
MZ_>>WM,_3Z3[^[3X-;\8I9GJ@^!T4/C1?#_&VE/#&W?=+.8=+W+#JWG;O8/%
M9V'TWIF]9D87U(497E&E ^+T[W):4'TWWM )<?M&6;T/6%PSJQM><.ML_EW;
M"UZVNV;6GMKVNDCFGL0"NW*X/K$%=NZHTY\Z5Z^X6*>*+UVS)%3A>A @:_Q]
M4:5K9G7/2]GB/P\FI<:.3E3-,OP8/O1O_ZUI $RG9S_TL^&JN:_$(QU,5X]I
M\"V[_^C]A*BI;J3ZVPS^D"$P@GZGZ+^<!_K!A+C(LJ//D8<W*I$R9/P?MO\O
M_L+,O\U-O&FWY*L:K+K/1*X9=L'T/U_D^ =%"E575WU="1+#)_Z?X2K/1:N<
M[,A*T2<UH\W4C"^99!#P9O^+?*"(4P4G%!)78NFAE"C(&JJZ@ \+@1,+I+",
M8L+#O)_GQG\-^(T9?%^UK_1(DCY-X$R KQ3Z91.O*2:%B<"V^BUGR&^5^$MU
MH)F.:@?_^9(EOV2FGN^HX7^^F)OPFQLY6=T+LX<57S*NZL0T/7S%M[T5)T9A
M (\74S^&O)BK\8KX.8?IR0*S&>TL=LD(2R5G.\6VOUZVU@H-QW.3U /%4O_^
MO^>D>[>*O!V+NWNMV=_>^@2M>4:&_T'Z_U3_9:FH"$O>)[O-54=P>*-H%6Q_
M.*I?G_+#A\_B]QSP@_U>JJYF1Y );<^'-.##T#<G43(<O>>U/%?[D8)\M :/
M( 9?J#<-9HW7K:PH<.6M4<V/AQ Q:(@8]#G@@OX4N+CPG@?[SBZW@!_[%A8(
M/]Z/'S\N#\*RP:I[B*\?L*2D1+92\@5.B#86;MGZ,NJ4+Q)+:*$[&4_]*BM+
MC6@2X,OB"N.,&$O8+W_3Y /&(CA!<(+@Y-QP\EB+^IB\.>#(>"F#M4!20WE9
MVEBY"-@FUEE?(H[D9O55VQ4&LJ4NV\-Q=:44= G:)#C^Y6^<?>!R.00D']:+
MB?AXNIP%2/9#(2\+2"!X_/.RT.-)G\[D*O.S0N=8P3T'' !E1]:K.VNA=@1
M9-<!U03U69&_!$")21U_^1%DL1>@8[=Z8HA)7*U"CD2;$?(=B"S4E[^)!RJ'
MI8#E+X0LYVQB>KWZ^''!Q<>B\D0_]L&&@PHJV\DX:C/Z"BL;<]4:6]1&#_]$
M!8]\U3[N^)9611-L9"[5;AF35-UI;:Q5MAHD6L5\^9M\P(]$'9%6(</_"N.0
M%_B^_D!P./_[>5PRMR3.<HP@%:W2B"&8.3Z%$02<^_(W\T QZ0C">Y#D?:4.
M*(?Q&3F,RR/#)48<+A!XCFOW 7LTP0%>P%M-P2DO?+TQ4ML:T[EH[%GN<BHI
MM2J"#-KCI;;9$,V@ ;&'(+[\S9+(A/E &*)NQH2Y."3YZ-AEDP4X/FP1>:NN
M#,G&,L<&;/,BTQ>S2*=+3"3S@MB?=#KUTJ(=B="-(>C8^" ?2)9[(^SX&S57
M%UA@U0)AQDR"/!GU"14SH9>INJZGJZ$:_Z!]S<1BD0FB26#JINJ;L+KXKMO=
M_(F+<T%@D+V*RWF79S)>6.]F)+R76^A\'0;8W4T9.O_@%23-2)KO5II/[&44
M(U^%SU%P)7$S:*7G*>3!YZ!/4R\QW%2B:@LKK#&S5^+,&H>Q-/LG]1*Q;;W/
MG\*KED?\CPG3;ULYH:7*Q,SN=DTV!Z2@HS!)V4/N(<?^5M4#PHAW5SG<%T;L
MZR$N""/0&^^DF77$V=OC[#W:,C?J9UY42S\4)+D70QQ!,9I(<,$3"2[:K5RP
M=9(UUM6U8(84,,'(R\]ZY_0(-ZH\#BI8EQ3,AC,U5UEB+E7XV".$&:F?>80W
MVP0@20!F)VH 8 ,(9P'<(.':[Z6@[K[<Y1+K[,Z7E[I[=J,BKWN3>E1D="EU
MTI>G!I=8ZWA-N8.WKVXO<)EE*$D>RY'980)L;#07SI\8C+P^CX(0[BKH>:]\
M=W)?([&."D^,HRZ(CQ'$4B !?V5JH!USQ=.[0/,,-WE*7[4C<.QR1]D=6E*9
M+0O <R337'6!+AA*#E[J)AY8%C]?4@*A%D*MJT4M]/*^L4O)EZ<&EWBC&:G!
M?=^@1?Q'U@!RY<^8,[Q[=J, %K*!$?A_SBVYRU.#.[QB]]%9RD\(.G4J]KK7
MUQA9V"IFP[,WG;JY6"NY)/'YLZC3;=S$2[*<&6^12 S8 %\S@ZN_9G>?!6.G
M;RATTAAVNGUQ,'0[KA_,<_*VNQU5!@53JKI_W"JP&@01T..MPYNZ"1+L6PLE
M_R@F@AX(!T'7CX!"5Q3RA""9+3E:1=L&!_(5WNLH+&QN3C#GBD/?G?K<8YG>
MM4+&I^2\/@\O$G/AO7 !F-V(4O5*U3+-L-&QB9P2MB%<0!,"W:1!%>JW6^1[
MR>CQP1GS4R#)I-^=##F"-;&R2K!A1<PVZ"Y$$O;+W]S9# ^$)0A++@!+T(4!
M=,<4W3%%THSNF-X)9^_QK7MQ_C^Z8XJ"5\AD1%",[IA^NC1?>?;V% &0ZF!8
M&@>5Y@I3-9>8-.?,5,_Q,/-"PPA(NC?R'=Q"[8,@C'\EXTTSL)^L;VHA@$>$
M65LH(K^9JD4%'5=0S8<2NF\F=+O?]2%9QJ]C8K1 *$Y+GC\%9ACMY\F\1!F2
MF73%]:99E\NS>L4;Z_ABKG84#N9WC\V007>"44DE@IX+2NU\<F+X-V''7&:9
MP6:;I3!SAUEX0$M8?6C$L'/>/#&J:$77&:ZFL/M?9Q@_<ZM9Y7?"D/G:'!JC
MPA+3]<P5Y:@<%6PVEPNZYCK&(_88'IUF_!4") 1(5P5(Z*8)NFV-;ELC-4"W
MK1'_D36 @B3HMC4*#2(;&($_NFU]][>MLW^4?+[ 3',;N &,M]FFNF=P1OUQ
M(_LAXX(0)J%#=8.N!]]QK=_],?(>:_UN57A1K=\]EEVCRE4DS4B:D31?NC2C
MJWN?(,V77W.@:9$3V?%270QGP(?+?#"#WMH*[.?Z'.H/:H5<Q)7)\L@B]*S/
M%!?-1F?>^8/Z@]>^#\X1.KB+O+O?5=L+0A^$II\<* ]<,#7#MJVZP8^^7DEY
M0D_='*E&($2/#J1H/+,<+:#R(4_/[2&OX)B"4U_^3M]]/UT]PIUC#KI@>:N<
MO4?;Z$;]5G3!\A[.C S[&X9B=,'R#@S[D]^J_#@#?&-MC>F0I9JR.IA'\G8S
ML[=\!QK@\/+EFP;XS=Z]+'D^B+>?T2+?!ZZVS81^3$X[D8 GR3%T Q-5^*#+
M?ZC"!TD]JO!!Y9VHT VI 5(#I 9(#="=IUNZ\X12A+\<H3CXSX6#^]R#WO.>
M>KRK]W[XTN\*4%0FQ)2B<6UF+97V=%5CPBHI\ J.[S.$&(=Z**!+:NB]A<PW
MY,RC2VHHA(6<%@3^Z)+:O5]2N^'TYTF=BT9_T1^NBG;/4CM;4LJ*\Z$I)LY%
MDOU\T[FXC=M_A9GJ&B!CNIFI:OJ9%6PQ!>_[Z?$7K&)"K@"Z _B[]J'GQU3,
M[A=_PQ>;3.#9II[Y;RSYOTO""W1'\(\LPT]D].71Y%Z%'Y6[':(#2!O23A/2
M!J0-2!N0-MRM-APRGD@;TNG/Z]$&E O]Y7!%00UF)=M;5X!N@+)JNO!#?AH"
MOPLT6PT"<QI+S&/XXFB0HDA7PTJ'$&VKG)^RPJH_)GVP5G BR8 2N7.-KD"@
M=4AW7H^"HM<5,MZ08X\N8:*H%O)<T*O@I&E/I WI'.CU:,,-)T1/X&%T776M
MM7;Z$%,QF5U-@T5;+24>!DR#ONUAW.PMT']/GGWS&D 1BS7#UN-_;*J^-LN0
M^$,&,OS?_S?Y%:U"UP/?44KW'%S(&%QT+YK8X(K1Y1<&=O*!(DY/."G/*K4"
M-0?F!C:PEIK5*$ZU:=_XDQ%5R5G$* S@Z6+B'QM]IS/XNB;V.2$[J+,^41Q6
M!F%'P4DX<I.D'CCB7,7;2+/>J%K\=,UZ1J?_02!R%A/E\A$$/GP6OTZ!'^SW
M$MLT=@1YT/;\Q%X)0]^<1*$:<ZSGM3P7GL_W;#M>4HU/"@=C'QLG7AR,6P.=
MM(7RBL$:@=Q<%A4>P@X-80==&+F$"P.?KIDG!Z%7RZ,__:C7"D)O3]T,G!ZM
M=Z;+FK4MN5BS@P$PF?&7"$A:S?*E:4>H"N6@M:N+&T8KL(D=Q'[YFV9B.XA&
MF(0P"6'2%6!2%X2JZ0)=4'TW)DIP *-HM.2F^1VK6DZ[PY3G!!<.F(NTCMR.
M&U9*8!-9JKX=E.C*;EMK)&"$XU_^)IB'''/&A#)"HW>W OAT%3TY&KUZW?_3
MC_K![03_T"QZ=Z5+L5SS@TC@ZU:]++*UXH;"/.&/!Y.? I7,U\:3R_C0]FFE
M6,&B>IA?D?UFMG* )UCL\H"Q+!I2?@DW_F]%9S\L*-OS@1I$_C;1H7U\Y:"F
MKJUPLE7 =@(Q\_*S=A04<L,_\62.?-4^7ON6YI6KP:#97)0IN6XLF/&D/<UW
MI21L@C-?_B8?<#9M%R#-0V[*O<9O+\\P^$"$.;\AP/BU!L?QNSE6Z#4*(!+Q
M5DO=PQ'WY6_F@6+209/3P!'J>7%?V:.K#))<'OH<5_$# (WF\>/(81,(CLX.
MRKFHKEG3BXB/O I '.\*;3RJT1@!/+U<WJJ#0=E(LM?$E[]9$AE#E]![Y--U
M]!S&T/7!T0?';+<>[S(F$70P!P\DI<%J0?^/KO"<+=Q:+'=&N+'I%ZPR/U:<
M84/29_EU@B+TE[]S] .%$=?39.27[)14V=Q)D>)N>TZ<?];5%;P/[I'Q]S@;
M"PD[NH9QOV,-SS\9[@H8CZ0?2?_],AY)/QJ0?L^,1]+_ :.ZKX (2!+NU I
M'N!==Z&XKS,CDQ=!/1H=?@N,O\^V"#75C51_F]GW1:!07X2;'C%TK@I;G#@D
M>LD_OK7< YTB;VZ]GN4XK>W<:XP4S_BC1/$[^AY,^W+)QMF*(F_9^78IY-C^
MDN,5G$[Z'N /')E#?0]N:UH3]I(,9RV+O3X,^+5"CXL&@'-5BK0*AM+J*GS!
M8O2JU6N/MFR^LX:H =L6$!BZE'<!M?=7AR'7,+3MLC#D[:X#TR;CRNHNS O.
M,*BZ>$-:S,F+J*1_B2>$";;3.BN2\J  B(U;V06S16*%L%_^IL@'G'ZK\ Q!
M"H*4*X*4\Y7#_S:.O-(I8-KF6@W2&^6PK;&QZODMZ.47EUT)[XVR7< &N5!>
M9J/.(BM-3''8@4@"6P9P#PPJAK^,E@%7!R6O=@1 4/)[-_Z#[DS7L+';Q9;4
MN/+_V7O3+E619U_X_?T4K'W.>5;WNF7]P=G=Y_9:.$_E3#F\82$@(@C*X/3I
MG\P$%)4:=I666)7]8G>5E4)F9,0O(R)CF-43.[7;"7?&OY2BZ>)P4=XQ<E6+
M1%*FDG[F)(0N\5__4@_)*(71)0P9_W<BDU_G;GPYWY:L&ZF:6AEUR#Z?R^1G
MS9C05[\\HW^[Y*;%276F*\T<U5D*=&>QBR./ L[HQR; =_-,AO#<_D* N/XY
MW9M.22F]:3^1M3Z9GM4%/MLH.U8 3LC'UQK8?W!A\'@UG[Z0K?(";RIE!2S(
M4G=UTA2:X=;S(VR=%N-#:T"66'.^'JPR<HE&>C[,IT^1N*Y7*!+J[PY.7LR7
M_T$W'&R)UV2INQT5[+%$;1/-7GI7"X53\10%^EW+V-25]DR15[EEQ%#M=>,)
MV22HU4S\(9-YK1ARR/+A/QA#U1 M0M5-D^!\1"0LG:AHFBYP%@=^X!\)P!5$
MUQZ;LB!SABR:.#L^#.'B?RCZ%^K#]N,V\B>&?W]7YL7AW#\Q<^?ZR0R8FS$W
M_UANOG)+R[B_I67\,K$/0WJ0FXY&=9D42:F9DFOY[3KZF6!,H$@?&F$&6!O9
M[" =DQ+91*&;E]?2JO>\C$5IEDHZD0OI*_:"^N$0@5/V0P 1^,"[FQ1\O+-8
ME<%F)DZ1QSZ2>]/#,13CE/<0I[R'VJH4Z-731GA2(@HWTV/]5'_9X>:?N;=Z
MRR TK';C2;$Z+8:;-I>SP::HU)+(((373Z\;A-\VI=^AV-EE%*!"Q'>I1\CN
MK=X'[Z'"',&#?KU:J>I[BJ*[WO55F/?_^T9P83$(DQC@4*2PA$7?@5R$,4X2
MRP66"RP76"YN?[6$Y>(>DFFQ7/SLQ$V\_UA?N#4N_AS[$B?*W86;!6O)-[EL
MN&#Z7:)LCY/9M-DD2Y,D*XVLSJ)A7NS>XH.I-6M%&Y08H9-7[-R&3==K,CFI
MTRR50@EVYT4T\%'\O;+K[N,HQJ#TA3>@'T22UD3+,GJ\J"GV-%'4A^N</H0E
M>5+HEO0U)/D>^7DH^S$RYDQ1 'LY7XB:B?80)^#]V."RG[>1/S&X[+LR+PXN
M^XEQOJ$+E0RSO?=ZV><168@_#R)%D^PFG]-,94.-5JO/U%NAA9EM6G!69D]_
MX=VHPAO20G(^):0C@F688,N[HK&2>;$%=D47.B*O2QIZRC.GVF* 5B?44YGU
M5N_0BAWM;$3.[ECQV)JETK @-/5 QLZKP6'TP>CS7= ''Z4XM>_;I/9A9OZF
MF7UX8_&1^VW,5YS7AUTO]ZHN8M<+SNO#>7UAN=6Z@;MD8X^W[+JEZPH731F]
ML31G<PD:NDO0)=@;_I)OFRS8@EU'  .I,N=($<$=]N:!T$2+T">$Q6T^6J\R
MS+?F.%[MXI=J/WZ[<;S:3^-Z'#)UE]'+.&P3BP$6 RP&6 QPCM^77CN%2PS^
MN4*KG,M&<KR[6V8OKD>HDI1:D'VI9V;C*8'MKC\3U?'2^V LKFLXTYHSJY9N
M6H9HR09:4%;4Q(ELM51.,P^^CH9H-2<];A/@G>B*AI$V:J),)B-6D>T4<VI_
M+;%4QNF:B7OIX,1+?%AAG0U;\#C/$ONML*6"P?_GIOK]V,R^&U@J%[_X_#J+
M0FEU*)'6<TW%[J=*+;40J6ZD-K0H@I/^_O[496<(;S:+NB&"N1*\;1BBQF\)
MRP"T4]%V^RXY<1+@_06BX21 '(GVXYD71Z+]Q)A@'%>)N1ES,^;FL',SSBK[
M&1;RM[C+<TW%G&LI]J"AZ% /&..]@]D8:'B#+X+)!%C@3\-X^2E;WC296GO1
M3=>:TVDW0@.R.7=Z,?**MWH_''W"E@:(SQ6L)6$+%B<"_D#W"U;QOS$4XT3
M'Z#B?^DEV'54\>0@G2EJRLQ@HO-Q.['M\:,$)T%5'%V&O:Z*?]O<O]R4TR21
MD#5BPLD&L8*9DS#;3P O6 $JKT2< 7C52*JQ;@!:1YSO_Z86&\+455D@_HM$
M_WW#4Q.SPRN15K=DA_"1"4L-CM3Z4)@N%J-W!31B,<)BA,4(BQ$6HZMF.&(Q
M>E<&9(C%"-^J?LR5D^/,:5'5UV51D,02)VNHA<G$$HV.R*N<:<H3P#F>:^<-
M!TZLL9['A_1265;G.WNWUA-3FV:C%+I+#2C=A!,D;Y @&6(AQF<A5BE#1B;L
MX, )F-@MB TQ?/A\20(G%J-W)7B&6(R^^]WW)0VFLLWVJ(;0(,GMT-XN*'91
MFL8D:##!&^_7#:;OD?_YO^.C-_N;H_[Z]XDS^"D1HQX(N,W_^Y_QG\C4CTT?
M=#76(X2( 800='NLBF& B _6R39AK6D3_&^PRF;L58J9,VS>B/%2*UD] 0S:
M9)N3#[MJP,=S74,-25V7#+^4:KN,GA:9Y>R)[B[Y&"6,/X,PJ&ZVV;0M$ZX.
M$#\ '0S+>.KUTUJ!;.YJ-797&HP6'9J-1MDH  ?J(1-+7:EYV(^3&5>MO[7,
M'!'EOS$6?%YS"#\0P(=/P7DG&J8S%Z!JJ#;<@Y9N(#7B8_VD!_RB-),;TIB1
MJU2KT)NFQ7YE#=$#JA;1\V Z''%[4<?:K67NXECBVO2W7M>]8LGKO4[KM%HI
M&HDTQVQI<;N*T=9R5J7#B"OS=H\C]<1LK$0MJ2VM:UNYV$5:2?K7O_'X Y5.
M8FC!T/+-H.4:7HW/X4E'M#A9$X4"9VB $J8+)%5U.FZ/I[)42 ZZFWEGPW6:
M5B@4E!>](&9RR*RCX_:*;,9MIJU'VI%BHPT1A:)^_9M^2&:N>7/\PR'%#8FY
MM>A='%+<&)9;K^NN(.7](2K:D#,H:[+=*%%CEF1VJZ=5MA%NE-'B?*S4T@9Q
MQM;JG9KT1).TA?06E.C_D K06S#*7#88Y9M(XY<Y(GN&R)FVL472X3@C7 &4
M]+9-;G6UI7#J9D'UZKMHMO\9 0QXE>.C?$VF"DE2%WIYAF2V6JI:8B1C-AQ+
M2*:2O_Z- 5L G]S8&/AV/LOPG=Q?"!37/ZE%>;=3YSLN7^ L>]4WV>>"4750
M)?/KW^1#/)FX$JK\U&(7-Q<V[%$( 8@$2ZH7E)ZJD]'9@HPRM=C\N3A+D?EA
MXC-!Z=?'D40Z6VPGNY.BDDN/;396CC5Z9>?^-/KKWQ1Y?GN*=9/+QG?=6ORN
MH9N$'%:^^ XDUL]FZ(R\8I2<5JP^*5HY5>ZVPP +IVA0H;H59BO$Y\IVFEW5
M<H,JM1RC^U 8:Q5-/J03;_86_P]ZZ15DF!?AQ-\EQ(GWR_#%F2UHFEU1)#3=
M H^T="*GPU O4Q3@3R@D$3J3B**L<1HO<RJQ/XG,QPM-\=TZU0?H)LCF0N6V
MD"7$?SXU0\"<8F3J1+>=(=,+,_X3M!;DE?<O^,=[%J^*G %!;?J/MQ3$P>[K
M/02+4H])."?PB3O%Q&,*\IE[HI'D_\!9^AY\]+0(+ZKJ/Z^&X;E/N#)#1N,'
M['/Q+W%&'O3O__$OYA!?&^%U53=^>S#N(Y]+ERA"=$F,C('!I40X&/;YFU/7
MW-9TEYJ)/9)[Q_/O_5$00]#\&$_\#W'X$9+D;,_FW";BH]I13"4X?M*'CPQW
MJ]!GNHENEW\;HHJ* IULF+OAEKX(V&TJ_A@_V^U+G\!H4ZC#SOPO1TP->*3\
M5Z^9"Y0!^#,0/7!TJ/_XHT/=CW[]VX/<!^L>Y> )!3!E+Q+<%P+@JR&LE4:C
MF:=[-%%IY!X)NI$GNDRV6\E7Z$ZET-V'M-Y^HHUFK] E>DTBUVSD"XUN(0]_
MZC;K%3!]\$NQTJ ;N0I=)[H]\,%3H='[RND[W!,]<,]K:_F+T3B@,8"3Y^]#
MT/ KV.@*!Q*Q"$4^'AC7E;'#A\>R>29TSA\!"O)_P1'$_R6BZ)M_GXCCD50?
MQ4X[+W0^>N'QGH1R2+7AJ*X]![/=ZI,N(!V*/M<LFN<!H%E(:U)E7A;-7XY8
M. I.PYZ#+>!?#;)/^(/L$^PB78NEI75E79"MN"B+0ST[[:W/(N<-B=/D'7K0
M004 OV0Y4S:;DQ;0SL#>.A_9)C@533,OFKPA+]R0^?.9]\ ,LRI0"UU=;LQ2
M,RW3&S8F6B&:%)?C+!_9YD574Y4U6Q1HZY5Q+!Q&_2+ :[D%F+MEV.(U#B=8
M^TZ>;(]BX-_ 1#\(>F>LK"'E80PIX'\\Y!V/(])!0O'1);R.OJZ,48^.:#F
M^YHTNNP)<=K'H,1AGPEOHPE@C! %0#1@+, Z=J[H7IEE7<X\X;NM\^\Y[]5R
MI?)X;:M+8/Y4$TUV4$U'<^O;<%,L><Y.Z?=A)%HUW!._1!*0YA&B-Q4AF5U-
MGO=K\I.])F_N-7EHWA'6%-8H!* MSXD%^%<73/ [M-S MZ; *),U@C-$8'^Z
MT/P/,=77(M :'^!WMVA?.3A(57V-OTSB+_A^V42, J:K:^J6<-B2,$38-@S^
MP?>%O\'C..L!%DR$<](7L@97!KX*" Y4-SCH 4U%$WF /I U@>6R<,B BBR"
M-U@."8(6[L$R?&1%TW3P=P[\P#\2?\F>J4K(8.:F/39E0>8,&99HA$^$FGN4
M_ ?ZWSAMBWZC_OF;X-!&'&6[)) LY,$,H?=MGP/C/ 9,U58M]"7X'AW0&VV?
M(T"\_]8>[H$^%_=;9 &=2R3F@-93DQ UN#D![W5>Q7/FE)BH^MK\T-?A3Z;/
MFH?+I5+_$"*RZC_PR$?$F+[%^Q;^$@NB?=:M_5X#*01C!)2AM4*ZH_<\R#6
M1;;$6"3$S4+DT:Z#QX*=(G08#G'R< +\S7OMQ 9<NP4*Q:6LVD\+?PZ88U"<
M9,UQOJ!^>H"0T%0GP-'"J[II@[6[LH3(XDHK^!98UEJVIL'B#KAK >B*!G(
M-0T!C!&=+TBB!O8$/@[\15Q &G('H%\ 8>7EA2J:GGA"+Q08@]P":$]IA/(<
M\9<K*\QC]Y$HT71K+RU3#FS<6!0U'T:!^>ISV4);9NAS^&CSSS!L81NF#<\E
M@ 5(QFS5/9 ,4;)5E\U@C57PQRX$'@ "WI&UX9TBK?#F339A?TCB+Y^\=PNY
M@ZQKPH-+-4 1=?OP@;F:4]U6!<BHP I%VP"^,[,UQ\.']N$5_/(]R&,(R/T
MHL'2_4P G^&#*B"[)D%KF@V>T1$7NF$!,":*@'V "A.I[64!BH$KR&?X]0@V
M'-#5= 1J+9N.[TAP<,W/*9Y*8)O.9!RF@W_Z<WI!$(#/-\&Y#\'6FNK@"0)2
M.\>'M>Z]6.\CWKO6Z]@>1QK,U16:([W[)37&5*I2LI/M*N2V%&W5;&/)3U7Z
M[M28U@%1'#_ 8>7_WW]12?*?CVDTKACXN=(\/^^A^, #> U..(!X^EH#S_.?
M^L#B!^<".C9X1Y"<_J:.=]F1OS&G0O@T?;@FJO(<S,H2/=D^+.HF#,688G.R
MU\OW++2P>#*UB3SWE&;MV:X]\[M\?B#='0N!U<&MW:_/SS>5$^#Y0R:"@^#Q
M"_4=!,O[T^S!IXT20!$WH%8$SU0 /W-. 2J(-QW$))QIVO.%PS1(4>$F$Z"A
MN-H@Q&)XT,[W? K&BRZ^JS*'',A[)?1P^,.1CLDLP6D$?\G53M$WP7R\G_^
M$(XJ^-)4#6 # )/=>2]4O,!#34*P]R1WOH0.!:1W/0+]<$^Z,9 5\ "7*G#X
MRX3SCA(XRME5SM/C_W1KX8D"0VYT#;H@@9CSEHT,$D>7Y-'Y+,A@DPQ/(8%'
MSGYNCT>F\&'*!]R!PY'?Q^$)!$0JT,61J@6/'AYPBVP18"=-=ZU@Q]038^@!
M+AHHIV!#)VCK5!UZG8#J*[C;?38"H!70963H6?5&R "Z9 /1&PR0=%U8R]!*
M@_!W/AI6J-\35A !"1!?<YO@$<A$B(PYA_!SN/_H;P_$PFFU#?88==4F%@ H
M_1OZ0$ .E5S=EN<-L 4N&[D$%0X?0Y*M@!SKMHGF CC-48!O=41#%Z?SI(YL
M*CFTF_"G/;Q.&57+B8U)BI0SB>%HD]1;HGY_\'JT5'1(.XP+UPI!EGCUVQ$T
MI'?01 $ZRLA18**C%]FH"%JGX&O@$#9.A!8,M&3+]AA&Y[UC]=SZ</@9<@IJ
M28[&(N!80^78KPZ#L]H\,;T!!E@GANO#R5<$9[;(1H<_0,@'HB"Z0/C?5[VJ
M3[!;G=:2<M1LDW/*[++U-&\^SXZOZA-_=%4/*Z'0F@#_5S@LA;9RG&%L 1 ]
MPU85^YOXI,/8#?!'-FLI5D-?=;2"+*7R7):*9,UJ^]>_B>3C>1 ^,8>X!@$!
M$&D]E0&%KTTJT[ .,5,E('4&MYC"RTT4+P7_2ILRYT9&M9?SYJZ6:_7)J+9D
M\N5-J6$:]$WH6F-&M4:'7?),<L=7YMHLFQC/UK_^I5*/L1?I2JP!,T]%:%!N
M$5-[ N#79!'7WI;L2 LWMN#I;*X\-.W>\_:)L6-Q<<,_CT>KI]NPLMC.RE-Z
M4.:9OM!_KE+B1BFN <ECF7>1/ B('HF><^ #.L$S%ZDVI@WXWH&-#2^* C+9
M 1ANY+D]AR@'CB6H&JA &U+-8^@!^B78*3A$%!Z/P!3B&'2/0;T+;#-X@(#\
M7:Y6(6O.>ST3Z"9G9<_@!!%L#DI)<KWT9@=8VF";@-[A&+B'JR%E4U7K<:U+
M<OIJMU*ZJ4B]?']VK;=.XK#0@UU"1(C]WXW]W^$V']QOX',8@@"VTW(=HRM=
MY@^J][YG$*>=*)9[YZ?#!,<, S0K\"[9G (ZN1HH,&[GCGZE <+Q@ XZX 23
M<%0Z>P'8_6#K[!U)0.V7P7!']Y;WZNRINW)AZ#-DZ,"7.(8$X%0X!IR9FJ1#
M?=?]JKA7*_>>\?UD'EREV#?<F38XVOW3.]@3W *\>F'(T.3QK63!;=&XJ0R>
M;&P=&P-II:)I>AHRLB;<5^\7S*-F69;[^C4P::;H]O.1"(O+N"^Z7'/.$\?&
M!N*2O8KM?NC8/I# G@<6WJ6HKIFIVX:/-3PCUS'O7,O7):WI[3L,??)<^P&F
MC6,=(2-1)Y9 QX=&M@RL ^@*TL!1 *T<^%Q J17@?, #[D_0L.!4QR"&QK C
M2,Y;X9]]+W&8_S5:R!ZC0X;U<;4)A C9=\BU#JD/?CMXPTV/<_05$EB"D]#Z
MP,2V\&(.L)\J.Z;?_AL+75=%X? Z4P9,PAF$ 31I@I]R\)0!7 $VA@<3K]J"
M=#!6YP!#'3T9[-,"293GYU15\*MC[J-+6BX 6N WP6$@<N P@-,X3,(1!+A.
MWR'RL.=V3UX6Z A$NX#T7_?/@-TT?0Y.#0O\*OA("?G% 2)/H@&=W$/1@R?7
M8'68R)LJ>,$!!,&A)X)%"=S6A%<$*A(WUU8_WL:W+?9;''T=QS<"S@!=TN37
MW+F57$ZB*+I3(7/U3D&AD\^Q9J-]'A$1/.Z6$1&?."1=\A ^^IPZ?4_O+UQO
MD^-R0]_: 59"IX"'$ZYS!\S.<&Z6H,/#^?0 *E N]X"&+ILA9J*CU='7#'$"
MY<K<7R8 #'!MX+VK:G^H(I9&L.@P,FKW)WJW2LY% ^3&_10/LS+A>>BXAR1#
M= ZQPPV0.\%'Z,@$RJ/HLV7!OW!)^V^9SM?F$,07JN@=LPCV='#D.WZ64\W2
M S;3Q8; +SD^&>=X=J: KE.1'R[X+0ZUT:T_;WGHXU(2,H\G]X<UNR3=?[#?
M<? $$?F+'HG6"R]S/*KN3?'^K?"S_>/W3T'C>'T^AK4W'N'UUQD)]T]X%PGA
MX<)S[AV<_WK /8T 4R#2OO%4>&(NG !Y\#" ?7LH]3M%X8T\--)478/<Y!RJ
MSGO0H?[R'@(>A[KB=N_,U7P[.M77S@6;7X3<Y[BWZ'YVA&L21*B  2(ZRX87
M'I+/'>Q)Y\MW'F>_OQD"?1ST#,-P;QZ>G#P-3[Y>8'(Z_1B-OQ"8C&*(B<./
M.# 9!R:'9:(X,/GN I,!,KMZIW,TO1JUZ^F>?Q"[&WWY':_JMS?4:'WX4G1/
MP[PLP0* 1![&$W1UU;FC &>HY(0H!JNJX+">.V%L1P?\$L8N00/NH**"UP!;
M#QA2\$ &#U?1][W[3R>$#?SF>-1?.+E]_A:D#\ [4OF@H<&;.M,Q:P/TT$?"
M4]"10>53DZ Y[YG,X.@7(^ ]$:B?&#*\JQNCV-3C=7/F"W,\><M$WHA"9"+Z
M-=L'=Y&RX^PT?5>O0!/Q+'#O(OKAY,U'=/9I6>H19>9 IX4Q@1-?%-/#R[-^
M@-L#N \H9D 5<_X(E"_H>Q)N'$,8P*K=K:8+XN9RO/FE7$@3[I;MP_>.E^-?
M#>JJ[D41 E,;7D&[<0BGIN3$#;B#D0'ZQ%JC+?1<5R@(&(9 FON(LM/O XL.
M*>3>=Q< 2^$23Q@:.>#WA#DF.(J:!>1&]BODX05GH)@-+V)@;[^@X"+TJW#V
MQW]<O1]\UV<H0[AWZ.L9>2AST-DWUZOC^%"#Q_C?#?TK<Z"G.V$4]A@:(3P8
M=TP@SSTGFRX-#W,%UCB,4S#^<2.<D<\*P3X:.T91&*$1&^AXH"7'H>;QF,-8
MSJVQQV\'>7%W>KQ/A %$-:#Q'^ 1A5PL:L#FF4(.$ 69.[@-/3X!!C^P7E53
MW[_7>R?8"^BFA+8?D!04 &0 \8!N;KA'MN8VKX -16SW9ON$'P^S?)T?/["Y
M=\C"+_/C,=W>VK(@E]3+-O7#NT'Q9!IN_H"S_;XC^>2T=;PIP/@$.^BZM5S7
MU,&<=SQ0 4'@?O>&AY((#R'ON3'@@(J"+9Y@(Z"-:'EX.]&AV]VYL9&1:O#[
MV'$"76:<Z1[+LI-C!/T5NN&=+R8' T-]/I5_G/@AU]GBNH"A__P? L6^N<^"
M&\M#JT^$^PJV&WGC#=/9;JB;:"M=71T.,G$C\K;_B#E<.AQR0I!1[L[)_7MX
M,,MC$C<"#7*#/!_;ABEZMUJZ;47T262A\XIH[2/U'OSQY@:\7-!1/XL7AA\%
MF NR <GK!M' C09'XL4* UR.)H!G=%Y&[K/]8O=BN4<SF#:A[74:+R#/39-
MD"$N;707XFH]#J2@A"9C'R:G0Y:V-?>K1\&1LH]Z-G1/!]T"AX=Z_FMCSP%N
M'B)@]U*-\,1S!T(NV/N'=3?VT\6AHR/L "- HS1M$UUG^T< HDM(_3NZOCYS
M0LN60U?"K2)R*L#$6(3Q,+[\ </UTAYV[-2WZ=P&G[SB,&'D,G:<RLXQ<SCJ
M+W893'UZ^UZK(82B^BQXI0=0>&G+;D(<$E_/V$)'JD_84<2M[ OQA2SMY%5Y
MMX%>?"C2I.=09X=GT?[F#W((,K!.-*7]*0TO9[UY(9_^/K=IBGA&L ]1B)Y'
M[N4;O/?&S_G"C"*FR/\&;UF#X] 4M?,H(U3R'Z[*HU\.D(QVENJD:R!L\,47
MI3*-:*<I"1RSG(VW>K.4B4NI]5O;0T7=C+J]X_'$6_[JMP]WI7[9<>ZV33?_
MQMO.L_UWK'H'XP!%'5O^S.&ON5J<<]?N2) ;:X7"@[TH PXE8Z(O(OSU]A=J
MN!]A+L\FA2H+6I9S[ 1&?KN9&80Y%457C^1?9'M72W+C$3RROTKFNPOX]!+V
M<^CZRXE=WNN,%9_Z3"-:T[P3V4%K0OV03T C!4S(.=OBC&PYVU=P=F\?ZX7^
M%AAU1\6&G5(MM=8*VU:UW9,ZI#1ITS K/:BOS3OV8A^9!QGGAKM'1?>EM9[2
M(D4-&M&L4F,'L?HRE3;33]*WV+Y:;F.)(MV6R&0U41]GT_R<G[3A]E&?W;X_
M2*5V(V& 3:-N$=298H!<.TD8R%%H&V=F/8KB>?VX0II#X('U>%3"Z<2C??7@
MDJ(3YNOL)+_M^1+38.=*^*N;]OI2T$DC-A;8YBXG%Z)3.Y-X?B[$I$E &8[@
M<6$+.O'K/J]=XKAT(SS"$3Y2G8:?^'R$O#?<98E3=^!1M+6K&;:F@-L6"RBU
M#^"\ W]](+J&3-0Y30$_5DR#$]4'HJR#4Z>F0X>S+YBX!LXB ?K= 8OF.(T3
M..(OW0V\X)SG[[G9]^Z_H;**'@,U=0$8X9SQ2/BY R 0#-K:)R@>9@F.?5/W
MINI@Z7ZZ&F'8"Q$M!$U;AN>J@F*53R;<@C?>1!?(CQ/SY\T?/M*9CWG0PO<9
M4K[IFM!_8;AJ/M)%83#G!D5 N)$T,+[&2:%S%0)_X(7@1&$_ 7/.@EX%7V(<
M]%#YD^-.2.&%SKN;+3NQB.^!H],5>=EL7A 0\M =9NTEY:%$9F>Z#5V+S .F
M_$H-AN!W^D-??>%]AO.:RIL&/+&&P44>*?8K"(X31>[MHZ18J.$?]@NH?Y<^
M:3_?3?C/SMV7@=9K'YQ%-F9@LV#_L<E,F4Q6SH\DDNN7FAU::UK)^/K7OU>F
MSSM/E]O3IT$N!OR([7$D%YDMN^(B,U\.@%9(!JH5+^5F[ .A7*!&!4HBR)S:
MEQ5YH_3)D6;Q8O32\6E_E_%+*1R_A..7</P2CE_ZX?%+T3^*7XJ]_(Y73:5P
M&$<OV37>M>"+A@TL,4641'A?N?6,C()MZ(\OF$JR:+[XT"#+Y229,L#^\0H!
M!5@8Z"7'5D: AR"X&H2C*)CB2<:L(1Z5RG+RW Z/]"WST5<AVY\!)YM^]7Q_
M?XN2@WB$T4$;X=Y(^ PBIQK5H9"&-_1O1%_DI4>1!2\4??J#RAC(/M#GXH/O
M@G"?\.[4DCLW.AR0$84(!T.QI!.K!Q4<6W$RVBI?79")#%5 5R5[\*I]!%8P
M.7OCT7<C(JH\XG\EO#3WS!3K8-X?Y9\=77"@^P7>ZZOAAH%YS?0\3W1083[H
M:H>76S#5]D5##>49'%M3?GM50N40W">)YMG5RPMFFOQ^5_@QL[^GX.!?<"Y_
M/][&M96'02\(V5_T726E7F$UC7,=4C:G\^0@R5);K7U_WJC#4H'DF6#6SBY%
M4"E/__7-/JW/N6[=?^O(]GXAF*-(=[,'Z#U4:?-,2Q.\14 AE8@?O=I]=/=0
M]ZZG+\!.IV%5#/>O!\CS3=P=[R36^&8I^]:V3]<11&@-.C(-^! E@4Z@[^,
M-\14%"2O\A'T<,-+'$>"H+N&DPWGNLDS]N!P5+]S_SXO,L;P[OA?EF67YXF^
M%[OCE3GZH^^[^6>\"M#,R1E%*4!.EU^W6.HI]L# )U1N)SBBXEW41,E//HJ:
M>]JA&_P@HOE)X[P:U9'<S_8=4[M-6J4I0M,]#VLEZ M(!UC\ 6R)#52"KAN0
MF=_7R3I'C\1XGAQ3ZX&J<,M=IITDIR.I<XTJ Q>XQQ^_<&L25*OG<$%-N,2!
M52F\"%4'5%Z_B?%##N!0VX ^TCV9C^Y4$&/OPU]ERQOH0)2,3BBP'U"WL4WQ
MD6@[\NT_P) B(_BU E<W<ORXOA>#$TQR@C?XPR*]6Q_G<8=P3+?DL%L.RYF"
MRHU1,5BH*LJ&$$&QA@%K.[\1LO<AQ$#J.$CO"*SHO0\9WV<V[Y/T3DIR.;?C
MAZT1]EOC4<\+NO#5?X#B:CHZ8] 5&@Q5B,B;B--5Y'<9_8^=YLA8R=XLG@K)
MZ*1#F?ETDLNV Z-!KE-=?.^"0%ZWO=OA/5> OFOW]P=UP)(S'4BJ?66?)Z>D
MBEO<Q^N-UC(@<%G;ELHAL(!58M"N9[>][4(\ZJ.V!Y #;WC-V<FN+!M/;)/9
MCLSR)+-J2%KYCT)(P*$)C)LZC,.L[$NOH9M6!O%,';",SR.:R9BEVI ;2XJ8
MCXYGZT)[,I^WWXH>L<#Q!:N:?BQZQ"EZZ1QSAHNT2"I0Y2Y1<Z-535>%=NT$
M=.!X OU(Y%YE=R?D0Y<,%&8%;QM"$7#Q$6:I:& T#)3V#B4P_IQQ8M%L-QM7
MN$@AN8HMLE.MO+8'GPGE>'&*X&=',1/K(F>*'2B5S0E@+L1DCB/>UR<\+P(U
M!L9&RD[S!E\H4Z"+GFUV.U*_9]!,Y%D9:2-N'#<J]*]_XP'5DNXU<.-Z;"#R
MBXT8J]93A7F-S)+)V6H\I#]3:NQ6;-"8LL^34FI@*3*?'>X*?%&)K6#5K(#Z
M;U\8 $*X"T+>&:#$J"**.7L=BV MK[N%GY?/JHUB%\Q)AZR2XK*7X[=TLZYJ
M]\AKFZ>FE&=;4X.,B)+!Y7,1*M>'1?$RCT$-_WX.YKR\][&4%IUK&[-56'9Y
MNJDR3[-,\AZ/FZ>-8$^'W4Y;D85%I5:F*UV*I-'>IV\%-*=!7U]H^#J^V1ZW
M><DK9C4CDEQH1J/,G)Y)G/34G@\ +I]=;@2/N]>(+H<L!*"+Z'G."GM;S%_!
M6/3* +FAS"?)P4[Y*%@ BQB+UEITO4 !?G+'CN0V;GCT*Q6['>,1:,VHYA7\
M"G)0H]3BM0@+AYG(/X.J^>U]*\BE#*].P'@WRPF%5P-Q6B-_W;Z*%DJR$&Q8
M: :M;\%MG6*"&C&Q+5B]#5D",(OV4+;Y4!#-G\Z'4M:<9(<Y3)E0945$K72
M.$'GDN-I4E$"A D)?I*6*P;2W*,,*CD-'^.TO7#M]_Y45H]+\QY23=SY@V>X
M*T*[+'O5^CRC'(6B>_=, 6O<MQ*"R276>?4FF-P,$SLLKPJY;#F3!1-%+T8D
M1A-^QS+==[ES=\I H8893D5#)\O%*^V(W(L/*-=E?S'A7?\<\D4=AV\ 15'-
M,T 66,G<3Q]?:C8*S_+XW2$,U'=@.3E8PQP5H(--3#Y((G<_/TLF;\]15%G0
MKG^21N!4^RB-<E/'$>-^)4B&D(_&?1;L1.4FD)U<X@1=S,&)'M9P/"N8VHO>
M?9S% >%R@IP(*.U,UE:BZ28^[B/V/.\M;!_T0CW@1Z(R<19^\/4BMS789$/V
MU]AV]@/5.W"\S*@&O0C)+<X= !J+P=/R^L)X<W<V ^4!.W41#2\;S(/,[>G]
MJ)N["HCAK6)F&[(IR(=>.?#&#6&!@^\GN7YHC88(FPNA-AVW+M?I.],JITCF
MB,_KM?=]M4X]J7&@VY>J]B'T#I(>6 ?SY(+>NXD'YYP7"N"!I3M]%'IDP'>&
M,Y?1H3DZ]44/EO>1 T?+_;,69XAS#W5DM[*HPI%.L,H*8BO,4.?A-18LP;O?
M<Q4AD[L+@?CBQ5#LPQN"M\I+5'"#-9P4T\-5GGN%EXJ3D1@9B4;1GRCJ'_^%
M('R57YO:7^>%9B=ITXVKWM<61> 0J"KL4T'AK7C 'F]];.S_E.<T]V!;0-V+
MWX/)H64("@\ AL?V&.$\/=LMD2N[+1$#MY5#U_[6:\)W'I424I'RWTV[Q'?@
MV! E#G5* ^S(NRWMT*GGAG!Y+=K<-";WR@B<'6Y]!+?0K__&Z:4'H69YWJL]
MM[1WBETJ+N);1P.G<30PC@;&T< X&OA;10,[;=9[/$L;F9(XFG08IL9LFL];
MAEU,) FZX]S>ZON1M51L.8HMK7ZA6YA&\@8UC;0C<&3B=.0JTMXUGFV59+;I
MNK#<)=0FQ]%L]/R9I#DJ-DLY42#%6+R4R5KS1BL-1YX]T]H*JUF)JFR49;[0
MBZ:K<K)4:+,QECP=*3U/BQK=BNODTFR5VVFZ-Z2[:S#R[.V[IYEH)">-+5-Z
MXO+1V#!>KM 2&'G\=C:1CE%I,9E@A62<9.-BAF/'DT2&3:7Y\82/)DDNRIT^
MNUTFF;:P2TV4FM4VK,SS8-=]6@?1-=FB(D^QUK;$]$L#3K13F\)VL0ZB5C*U
M9",Q,SDO--EDLF2TE*UJTD$KD_FR6;-:M0*3S&827*RPK0R%]=G*P,A><]B;
MT9RL,%R;[^76TE V<Q(;/Z<KG5C7FGTSNV%JML[D6\QJ,QG08.39VZF5/IUG
MTT-:F=O#>I?L4<L*#T>>O?TISL?B5K69)L5I)ST;C_/M1'3-)L[?7DG6Y5FZ
MN:#)YHH:#GM)(/Q"FTV>CTQ-AQ.ZR@+VL\L1MC#ILLT4UV93YR,S=;.]R;;U
M1B&2'W.=[+/<U@9K-GT^<AI+Z$F*S)(*9Z=RZ4QAV9DT)##R?(_F#"G.YND%
M8Z?&V0H]ER(U%8[TUO[G<?BQ/XK#C[\<A_^J@_L&$:UN*:*BH<^]TB%]8%'D
MW*HS+_GSQ[I =L81-:?(Y=94FB4W\4KM&E&N7QNGEO?,':]"TWLBT_9?.I08
M=YN^FX?>(X<B9] I=^A8 JTP8>741)_X2CP>JK-IAZZ6>VM,GOC+LDU01=:S
M\N:.0\LQ&&$S&M%Z)/J>A>KV!'"L&Z_NG"4[';95]6#DO51(?Q]=IL&R^?NZ
M,(_OB)6Z5*?#,VY%=WN^LA);I&&><&\)F H+5E[FINU=;-%EN%@/R#%7*:C<
M:5^+UX8"V#GE]C?C%RVD\(Y%&#]LVG,8%+AS2\8)ITRT;]_[_OM XB]D5.JV
M"?YL_OW[I2@KJ$\%P=,;R[V4./LL%[^NYFFYP52$?X3N:&=??SO1A6 X= 21
ML7_\=Y\.E3WC$!ERT#!4N84I_O9^\$\*XH<[(:@A\HXU<J16<K:E'^N4Z),C
M/?!<#3S8SFE'Y;,,;UZ>Z>:LV1*\SX%463 KWL4[QPIW'Y),/<:!K>@CE_LZ
MCW0^#=7W?"BI,&3=(YKW>V1M #ER+&$8%?BF$>JZ!(YT6VZ,ZGF>ZK87XI1C
M4 ?<DGBSC-C[^<3O"OF/);QC%Z; )HF !_#0KH74<U<=Q?L2RGVA'J-)O"\A
MW)?H8P+O2_CV!6]+*+<%PUA(]P7+RS7WY3^6 37FBVG'MR/"'Q@OUU5$O\C1
M?TR4UUS]3EV[\W\/?G^7'L!N@T3Z?[^ V?U!:8T]IEZ%T= 1!]G\#CV B7]&
MDJN<\:$C N:05Y/T'1?0"TSRO1#T;/W?!%*I/^>)*U+I8F+D>MY<+85:; @4
MWD)XT1EW)&;0Y7HO\(NYZ0ZX*7X)G#[$/?W^+YX7Q<GDZE0X\G>G'J,>8=R;
MN(CST6N4.;TL,R\&T5],CM#; H[7(( JQZ(4 Z(DZ#:\,ODJ67J-;/]]B94C
MD WCRGTH@FZ(_*2(G9*"N'T;A]@?)6,&7<GNKV+=PO[[;,K8+R]< UC\32&W
MW2V5I)TRBVI?3$AI&%84^_5O^H&,!B547N8<QI"!(0-#QH5[AWP)9HBE6?4Y
MM6 %IDM6)@TMF;!)$P;7)1%F4$'=6HZTK?^@*(&@@*M;Q"R](?S'(?E_@@=7
MKX?H:'-NN%1V2Q]:CKU6YFR5[RS,:K0T8DH=O93.6:05>99"F>!]&K?C9B6;
M1_54N;%N6X<F3OX:H7^=1O;\O4_*\O>+YH_3.??1/Z^D>KT8&(1B@5#U(LYT
MNUV:Y[%!WSE2)D4]QG_FS4S(KLBBCS$*;T0(-@(+1$CV@7Q,I/!.A& G #1%
M\4:$8",P-(5D'S TW32 Y2VE]0L7_64>I[?TP]LGUOYY_$'BHU==T>1C],;A
M.V]1HX?,T"?'#"U ,_13-UF8Y6]Q!?Q5=[Z?%80PW_F^*W:+^&Q$#I:/[RP?
M'X^)H!XSJ?N6CXN&U+QNR-U^L5\9P_@M6.-S\3$.:MX@/.9HC5G'A>\U/QZ+
MX$^PH"'*\T:E%"\&EC>]QP[#F1&*#;_(/;1C@]]@*6_>,_^\2^9L86!/5CLN
M2N;$3*G;BN4S<PO698F]?<G\R=,,2S26Z&\CT3&6+?&:+'6WHX(]EJAMHME+
M[VHWD.C>*C&G4CV)*6RK4S)&SSFS6UL#B4[^^C?VD(@&]8H)K>EVQJX-T3JO
M(W)4O/ENS+,0@M&7;J5G'UP*?KXOUGPPCNG#R',2\M1"<E5Q:]WGW7KN ="C
M]::U>+Z@+\CY-*+/-D]Z@\_0; (J$\F'>#)Q/64""^MW7_)/$_*X7\CCK$"O
MGC;"DQ)1N)D>ZZ?ZRPXW_XQZ\5$ACUJM$:N*:HN,&I12B(I1LEUM R$'^D7F
M(1.+7EJ_N+6&W#DN.[<3L5/C>YE EU9$PF4'0:CZZWLI)/O_>0))!>!4,;8<
M=9BAJ12VT>8J(M/9)9>FV:2CC"3)U!E._8U=&_<LUR&DPD_%@R_67=Z%!TQE
M!QXOU 6EMAW8FP9#4^D\Q(,DQ(/4ZW@0?L>(XQ#BMX1E<)JI^EII.-VD#PV\
M+I.._$,])+>^=+RNXA*>&]5O[F'IB?.%;G#&%C9SM;9%I[^:)\.]@PC3![']
MA9*IP*L"P"W/#[7$JF5EF(C6*W2+S_.:7J/9%%1V (]@O\LW@8 0DB3TT/$=
M%)X/XL693=17;'[6WF3)6O+Y::1VHW*J!&$"IA2?H\1G%:!;&_8GX2FB)N#
ME*^S]6Y>5N +[[EOOM9;7X2'K^3*IE30I>4J-F)*6RT6C32WAMAIL^DKEUS!
M[A\,">%8:U@@(<[&^MD,G9%7C)+3BM4G12NGRMT;0 (S:;1G\]U$*XB;(;43
MM^4EO8.0@%Q R>1KD'!64>6T!ZG_]\O(M"IKXK[_Y6,T]2XAS[Q?QJ]<. 4L
M]-#=N&7HF@Z[QR+5U&FY]5+CK9%(:YUDKLD5:@9;FLQ;[6V)#D?EE+?BNCLB
M# 57MT3%-&U1\+=W/J8 T= M8BA:!"WH"\M),2,B1%,[M#RBXJC>2<SI<ERD
MNUE"=I_:9<#W']%?(V3FP6LT[>\>3?RU;SG]]V^B,H<U7=Q76[JOSS1QJ&%S
MZ#@-"\* EZ FU:E_3 +@F<BC1MJP=2]L<PYKMDQD*&'$5N0,TQ?[C3K.^I:1
M<#LW05\DZC LSUT=_.UO)9RY<)!(;KMIN'AWX4[W<U&;(BU_:</N7A9*NT4O
M Q^HWN_"897^?L8&7 Z\V-5X("_[EM9'56MT8'IIB'#."O9MCA><+*!V8X*.
M6I#!U_/R CX2-F8&8 96"0@DSQ>P8@[JBF:=K,:: F)J@%M-%V0OU63ZX@6:
MW@DJ-Y+*B@8D8N7P#N2V8*&!?XF0L5.!Z7J=J($$=D1@:".!S1VUH':'1HB"
MV]P:R TG2;#'-MI+GQ@1?W7ML86D#[PD @3P <B+;5A3 @"D)J WK63.FU(B
M0E*_3Y\'>.-L=NZK#W+J P*X+L"(X.V0%9U22P1JFC<'="'$C6RB57F]N0\"
M 88L;=EPP6%L6]X')ASDS0E0T"]#;C4HMQFX]U >C)-TV"O=:>+-(3XW'Z#4
MJ#9J^@>?#V>HRG/9$<('8F$;8,)@87#5LK8"$]&-[0,ASA>JOA5%)(/@!8@R
M#T!M /O"R^YOW!SNU\XM4@7>:HJJZENI>4XF!!MC$5'W &T0TFQ4G<H%-C \
MY<H\XJ:);)@61!4#0A68ZF%<VNV^[J";X?'0(U'@#-AMT)-X(.P ^L#*P=(1
M='" _KRCL(!QHMNK'LP>OM %#J=/(5H%9 S;.-J)-="!#HW6#^W5)[(&8!'B
MSZ'1>G ']9!:(-^CKWL&]W5W-@7W=<=]W8,GVL!]W>^MK_N?=Y>&_:)#7XCT
M0/P/U"'UNKA'X^-4/)5D$^-TC(U3"9X=\V*<C<92*2H^3J:H:.;7O\?=O%MT
MDAXID^&HD&NTEHM::KJ<KNF@+NZVN#9SE75'*_15SBQUECTSWY3 R+.>YU*C
MMFNORLT).3?RL<RXU>[F%NV@?N^,P:KY'%NO*^*X_Q0O<?:P6H>=X<^>^<R.
M,SMA)SPS\]A&&ECYIU0E DO2GG4R;_(Z6]VJ=K-@:T.K/Z[T5U2C'=1#?JC7
M3,HH/#\7YF4R78E4,A.V']A#GHF6)CN+ZE2!7E9(CQ6[.DZ/Z: >\I%)+SHO
M<@V.*547BXE4*E,)E@[J][[,L;S1GHU,A9-3VD9<6]Q"I8/ZO4=2A1'S7&E*
M3$2.CUHJI3PG-G#DV8HZL^QD7!VT&:994F*#0E$;J=TU&'F\(I9+)JAQ,AEC
MA22?8./I=(KEJ'2"3<3)3(+C4IQ I4Z?32^UE)R<DP6&FV7RJVJ&U0;5=1"G
MM)HBFVMLN;4B3\J3.C5);3;]==#^UT>&MME-AC&FN1OF>LW-?%')2T%[U>;-
MT>@IQHR4G+C(L6VA05%=*6BO$F(FL\C,YFLE6:DOV41_EDDUVT%[16V,9D)N
M;K:D'*6KK7F\VGGBX<BSMU=X.C$M)(9+IB8)7")>95)D!&:VG;W=-,C&(%99
M&07;+,^3I5AWW-VL@_;?H.?JK)Q8+PNE<6[PW.VDN&5+<E)63N@YLD>#:(37
MF&A<*65GS+0]F@1R2J(C]Q:\NFHKS=FSP#63]?PH V]9ST;:++#]A&4SH934
M+1<?MO0XJ;:=^]CCD:6G='+<KLI]4NQ8;*:RBHC+E,2FSY\Y212VS>(P7E:2
M9BH9D0K#=6L+G9QG]'Q* (E4TP;-U/3E+C4O2G9N3H.1'CVO["!TG6,FK0D-
MY- 58 B?**\".IJ#PV5>2LP6G6BCQ,R+BP'-2-OT(G8MM^#9T?Z*-ND_3(!E
MME"Y[6]90][;,5S!T6'DLTG20>K$IR;\HM[JE9UX=)02=&AYY"<.1/\*MW"7
MGXJ"K8K-B3>!AFZ)9EWG-,@)1<=LU:376&$P63>FD6K$+FPC%*.UN[.L**Q#
MX2$^Y8X]E8W]>I"=+IN6Z5GV3OUJ:/7_J K6R=0CF?F9Q1C#W?0U^D:/0+PO
MMZHBFXKA?0GAOE"/&=PE.80; X ,[TL(]P4#64CW!0-9R-J]OZX@_X!^;6_I
MHJ%K??JUS;R35^:/"Q/GA9+!5SO@0T< S!VO$.?BK=[#C)YGZ_\F</H-FW-#
M,0I1@ENH6KU?&W\Q.]T!.WVZUSL$ZIMF"YZON63HIDD$N.\OAL*X-7.05R!D
M;'"1)"''K Y7'9AOT(S=$\[#52$2VI<3@+I#AF](BQA%=F>KR*(_,S)36G+:
ML -U,TY=J4)E"C=BQ]+^(Z3]FB7N_UC<>T9Q;.>-UH*9-Y;S^%B24VW*[: >
MS3RD4A>L5?D%UN9;S$O#* *4"@63$7A#%&2+4 &%Q,N4?/H*R_$.(.N66WRY
MBD]O>?JOCTAGB[MXE9;K*R">Q!5U(Z_;8VMBJ^<H]3) 3<72$UG<=E5FN6JG
MHE5AIHK/:Z?[!O40)<_5D<O4J/P*HQU+,I;D>U(N/BG*Y62)-W5KF26[B9Z2
MBRRG:EIUVVX 44XD+UA=*9P.DV/U X@PRL*\=-U)[#CY U,J/*7JPDBU%^VT
M$#EGOY/6)&NZ\"K.9AW,.-2P>ZWDI=GIYF<E>C A[9+822SJ9(]^7KO-1F+G
M78XNISEA^,'P@^'G_E2]R^+/UIJ*9:6\T@K1?"\5T7*)S*Z\=OJ@),A7\><.
M74OGUV /A"9:V*]T00"]=<&XKW*,WWJ=(7"3?^FE6$.T7K9;13L_R^5Z3T9!
M3J9BT5HOSE!5R6F3$LT\)%+G?1&P"PH+/1;Z<.@T'Y3ZLEK:VIVLDF>6:G'9
M6;8FS9JT=IJA1&'?YS>[Q+Y4"C-<%3TR^W$?J>CQ1?GOASWS*Z<Y=']7UTVS
M%YP$W:8B.IFOU];D/,:H<G.5'R0F=$B3H"UY!:CM55+CCER%J'29_[9R_ZDU
M-421F(.I3$U8OET4B'T$.:J<A\JSH>J2:\XD.---I39_7B+UJ[TQOV_:3L@2
MJ'YNYG3(-N+G9AB&;2-^;DIAR';BYR9#AVPC,#:%92, -F&]Z8([\0'']I5[
MNH>O-\KM$YK/$WJ\M^3 -\:&#)Y:%M65")<%W\!I9L3_FL^FM"8^FCP5(Q^I
MT!'OF!H]9+(^.29K 9JLG\Z-PB+RY5F%7Y5&^%E)"-%5\1]+R@NU ,(G(.2I
M@!!'O(%%XJ(B\9TS:]\2B;O*S Z]FO$93DI1=\])GT_*#FYL]Z50ZVOA>N@5
M==DFKC>/* Z#RA6";,P+7SB',/WRGN^7/YD>D33E<KS(KGJ%;<Q(D/.)U%R6
MI7VF4T!ZQ/<(U\6R?6G9OLVA%!K9CK%LB==DJ;L=%>RQ1&T3S5YZ5[NE;#=B
M='O2V%8X)MGM*M7VW,BLGF@G]2F3N7".]5?;>C1X 6IB!WOJ&9+3-M)M+7<W
M=ET8\>B'K?GV69HG,!6Y"R,SA#OY0[GW"X#W=H?L:3Q?W!_/%V<%>O6T$9Z4
MB,+-]%@_U5]VN/EGCMR6H<.- PLX/W(#3E@J&7F*=+=+1;'%R%;ILVQG,J&=
M7)-7:Q;=I]'?-R ?ZI.)27 2)VNF=8@8Q";_79L%(21#&/T%_UPAL>Z#,<M7
M-BN0K#>!J ? WK*I9^;&*D$62D(IV:[4>K'2U,U-25RS-@H6"HP-H?4W? 4V
M7%O_^3PVQ$J%5.G)ZE.,7.XGAY%AOL]9;@;+><K:YY)OO]KG (@B@HFXC>'Y
M+6$9G&:J;HO[?78R=C]\!MM"4YL@%#0)RM(+5^6!KS4 KZT<!;2Y#$[^<K$@
MYT)![X $ :!H#)B=:N2+)"-3A4*]6<N6&D!A2D&%*?X=\GA#(2L8/UY4E.X'
M/R+W[B3Q14:(FH!C(FY6U^BF2?M7#YJX^5IO??,:XO*QL5W'S">Y@5DHV7E+
M7(PF5:,+&[B_6#X6>T@P.%S0"W+SM88%'.)LK)_-T!EYQ2@YK5A]4K1RJMR]
M)3BT:\GGZ7"Z2Y"EJMTKIP<1.S&"X( *TH+->6^%C\M(KRIK8L1+HGN,IBZ>
MBW92AR3<=4D.>/:1NB3AQ%,.<1X;2W!4', #F^#Y%!O/1"=L)L-'V60ZG4K%
M$W&>2G'@??_AO&_ OBQV/YWK3'(#IBGWGR;U<83.1B1@B9.G(W/\>LI7>#%:
MF*\U<IAM;\1IDX8V^^G(22=EQ<MIB5?Z+3(MQM7QLCNCV>CY,P?%>;/3G^]:
M2M^:[]*B\*Q%^K KS-G([#97YO.3[(1,/G?6=(]+V1&J#49Z;[]RQ9B2K@MK
M655I3:AH +$D&?H-3%.TS+QL\JINVD9 I1@F,1S6V98U+?2K8F.2J#Y%JJJ+
M9[)FBP)MO3*.A<.H*]65.0M=?YDK!=E<J-SVMZPA+!G#)1Y)'_R.>V*E%Z^D
M'WQHCNA!8',!?JM!Z0FQ1R?<'LF#MT^H/,UAIPAGJRXHPQ?#(_+&@$2^O9@S
MW>9_Y>.%H!V2+? $'OS5VP-P$EP2-4-"\2L#39>?BH*MBLV)1\9S5)E4-%8M
M:OT8LXUNY7@YU2@6S74HZD^A/%P11FQJDN@5G>(YP]BBDO1SJ$1!CXGDR>G[
M"TZ]H\[4MV*T;ULT*QW#]5 ^I7!?L#!-/(TW(@0; >PR7+TL%!L1?<30=,&-
M^,,;'O=HN,$-S]$1F'J,>GJ >^A'G(\"[X$B1)73;,[8$JZJ<A%?+T3F6]]T
MO9SY?0$O;O3K;[JNXZ1%D!&N2+6[SWKUC)\ ]VJUH14:C7A34$IT92Q:Y7R\
M0$-'%+I[R632EXO*?U-3O1GV?&6@VNLZ8CA=HA<!IQO'5 1 \>7@ZG[B1>X\
MWLQ#LI?#R4J<K,& L]=ZWM#<E!H8G9BI)!<%+BNG])W=7[-1U"SBS0NE;Z^
M';N*[E7_"BT0AO#^^>O4N)LO]=9ZWA7C<%Y1\Y0JMV8RS'!3$+/-?)'OUTUM
M!V_\(.(]D-2;:MYU^V1<6DYOURPBNF<?Z+F?<+)!K#C5%HFYR,%;3:A''KGL
MP<_08T]+:%6$*4IH"/3/ ^81;-X2!0(P7U=<6.)\+!I$C'QP>D7 6SDT3N5,
M4Y[(8.!:MJ:R1M3%E:@2,>_AOFE,9=& \+XEQB+/V::(!N3T.:#=E@"_"^@#
M6>/UN4APBX6A<_ST@0"2#LX$VP*SW $BPK,5O)'GP%1E;6%;)O@:9Q&<(0(Q
MT<> H"BNP[NT &121 O-V/?KW%8M>:$>W@,F &\V>#@= WT?T$*V9/!&2R<F
MM@&^C%8B"YPE'E^'H/69CT3/MYZQJ,J %"8A@Y=Q@D@88!=TS7DRV%$@6>"/
M<%: @O9\X53( *\"\L/;JO<.'_U<BAKB0@> "%X+00'>I+A_D,&+90-M(7BT
M=;3M<,[._(XG#;^[OVJ%&_K?MT>>Q.>0)^D@3P.LDQWK=#HS)T6MP#$I?1I;
M)Y[9*OWKWQ"8T1=<)=VEI%RI%*64I=C?L,5V?K7@UP!='X,4RI,/B#ELV0AH
M "_P1"@(+CLYL="O-(W)B[R+"LZG\<?@,"*?*]'G(>55D3/@83X]N5J+^8(0
M+N8B/<'4XV* T?CA\'41E")/W:#_Y\B]N]<NX$V>;OSV5 C?JERW<A1I$Y(8
M<;S'W 2\^#>GKKFMZ:GJZ<=HW+/D?N_5$$@'(O&83O\/<?@14N.,E/"2T$>P
M(P7<^=;Q-:#[V1LN;'=7+'WQ.TH]H@,'_.HYR^./\2MMT^FQ=MB4_^6(J0'E
M[;]ZS5S@8?U2A(G[$3@9$?X"#L\YEZKF_NCFKG1\_W'=R4JCT<S3/9JH-'*/
M!-W($UTFVZWD*W2G4NCN*U+>?J*-9J_0)7I-(M=LY N-;B$/?^HVZQ4P??!+
ML=*@&[D*72>Z/?#!4Z'1^\KIGRI%KZ[E+T;C; %8%,+?AYJ?;T,6$K$(13[Z
M(@0<&3M\>"R;9T+G_!$>^G_!$<3_!5 *O_GWB3@>2?61H>V\D#JZ:SIYO">A
M;H AE8C&$FDAS28RL30;Y\@TF^$S<99+<K%$1HR.R<GX-'!O49F4BXD:K"30
M[-1KS4G3S,3706&#H_PZ,9BUVU1AF8QGA[-Z*9Z<P[#!]%F (5FR\R-&KC(Y
MOK4J-%O]"$M*OF# _4BF^611\61BR>268CK/1YC4*+T&(\^>F6Z83\]K:1=3
MFE(ZTQE:Z<;H&3Z3HDZ'QH5NDUJ-(R(CKS-#MCVN;Y^5-AL_?_V 5%<S(RWV
M"]M457I>IDDFK\'Z;(DS,G77*WX[&TP5,1Y+#^KK1K$1@R//)CIKI\2)W<]E
M"KD*V(WN\W-W$X-O/Y^HJ=7+8\&B2XK=;79Z%#MH%882FSB?:+42794V0[U(
M-N-QC:\]5\N]!6RI?#91>V"7I':^PC%=62W+IB;4;;L-1IY-=$'&*OE./FX5
MDEQBM:1GIK2-P](Y 1--STPZ,R33A=QXUK8ZD65R6H+E)L[B0)];>B3>XS."
MLJ4WDIQ:5K9#@693YR.3W4IFI:@]01'ISF)-%7)4<[ &(\\67ZZVZ)G(%[1"
MDI)G=%40+*D.<S?/%D^..R5.;\B\4FOFJJ7DLU2=T_"99XO/JO0H-Y]T;=)N
M:E-ATJ"3ZR)\9@ [+9_GT0*3V2@115U'^[LX5W^&X>)G2QHM"\-&IR&U%+O8
MT7+)R8;6QFLP,G,Z4A_DG[+L7$L7FI88F6AKB>7C;39S_LQ,;Z<N=VG&9+;Q
M%1FAGE.#01;()WD^M%]>M&4NI[)*I!3?*6F5?IH VH.A9^^W8XOMTZB:%PN1
M54,K]9?)>J/=AD.I,_(_I]0F5=Z8'4:T,FQC1*X+B;D$"'4^@VI+ZJQ[Q;BE
ME,SM.F?98G4\74,-^FPHVVWO#/U9Z!>ZE38]3#"U/& 8./1L K4M54@\/ZV?
ME>UD\)3:IIYJTPH-AYXQP%K7)6Y R3URKBN[L5EC9TH4/?6, W(9NV;947-
M;N5B?BP.!UR'14//68!YD@I18'&IC-P227M.E2;F&) K'A (+;#S#<>.=@5Q
M5N4ZF<Y I0&S4HGSH>4NE>ZGTA%#J9E</Q%)5S1;14//2% 9-H5%W*3B3*ZE
M2%*L0&MT<0V'GI&@%],ZF]&6VC*Y[/-FJ)2WT7@4#3TC0<]LIIIKJ910N&HN
MNM@LTN/,J@V'GI,@HZ1FH^?$:JU$<NF-S+2Z=C$!)AN  =LB3\7U9KK"S"OM
M8IPG1XL1V89#DZ=#&R1;C27;24VQM40G)Y&K.:. R0;@Q=0<+>5NKJ22RW5<
M:>A=*JJLT- S:JUB7*2HJD:BT&0%N2RF:\^6),&A9]02*OPV;W>>MF1I,"\N
M6\M6A^;0T#-J;5;IC!2-E$C2;E>XA")/-E*E#8<&8(86:3]%.D\U99EMB>54
MC.+&0S#9  &/"ZPJ#/K%$;.,F)-%;S2NK?(2''JVKJV:&'7,>7G'Y'KSN=K@
M4LL=WX9#S];%Y#,-<R 72DR$:V>RVWI+Z$?14\_69<?3[5VW.9XR3:5OM<MF
M2LEQ:.C)NMB$0*:I!/A#,CI)L/$4.6''41Y0%2@7 I\@@7XQ.8.$>;QK/R6?
MFX7(N)1<F0K%+S)2D'[1GI.MMEB9QYEH+U%N-?N9W4Y<!^D7Y7(T56PVEV6E
MJZJ=Z"9.%5;1=I!^D5"+4HR5QPR9I+,S9=CAJT\L':1?M"M+HY-J4\5"GZ]6
MX_IS6HD]MP/UB_9:9E:B8+04,5.5E$6*CF0W4I!^H4ITMAB9/^68VKQ9&<6>
MRC3370?I%[U:U5A%[46WT(WTZRF]/I-IO1VD7SPG*TUK6MWF"LMX^2G2'57E
MR5(*U"^2S^UB:V*H:64I#966JD2:,;$=I%_DC%I6[Z?KC0)'+U0ST;3;TT$[
M2+^H]]EN4=12<4;6,^OIQ"9CU>TZ2+\H,TPA,X[74^16$:))B1T(#6D=J%]$
M9[*T6JQ'(Z6?WK53,DD6-O8Z2+\863%JER*?-^1VDDF/U*[U7 $'9P!>]+6%
MM"1+--##)MRVN5M4L]4F':1?L%HDII7YS9,R;TP+J_EPL'DBUT'Z16?+""7:
MHI(,UVM5$_*RMV5B[2#]HM("4%9HK'ID#2@CW>Y&7\4*ZT#]HD+V4Q66IS8%
M.=Y.4*VL(-1:[2#]@N]:"W%NS;.*+#YUJI;65H>,%*@U%%8C64H7BV1?F#'9
MJ6!7[04-1IYI K-1#[Q?2J<9.57H5'<56NS'Z$#]8M3,:OGM;+QAEE&&&<A&
MU5;)=J!^T22'D3C9?.XRT2<S,9&KK<(@MP[6+ZI;J4O&[%R>;/;;K66ES&[:
MXV#]@A^V$VRYLP:'>G*^E&99JYH?!.L7<JQ7&>G;CEU8ZE%)7U4Y@RNT _6+
MY+P\J&US8UKA"HU:(B;,%GIJ':A?1+/+*1VCRL\ S01[DXM51REGZ!D'+)-/
MR\6@,-$9CC4C3*%225/-]@OZQ8S/]%I<3B=SZQ9#)24QWP0R':1?Z,EI=LS5
M&2#^E45[5I: +C(-UB^ZPVU]T(E'^TQSF]4GZW%CNNZT _4+B1]8?<N<,4RW
M1@%<&QM,G:$#]8OUNJMI)3M95_I"<YK:15+Q^40*U"^22:Z66 ]B)!,91D?-
M.<-EV/D+^H4MDBH]Z37[A>28ISBJQ0XZO7:@?E%9,;-JUUX /#,FS6>S-L]&
MA'6@?L&7AHMM,5[.,Z5U=#F9*A(3@4EQ 7@QI\NYSK@H393DKC[0T]2(ZY>"
M]0NSEDYQRHZJ%Z):LIL;";D<-:<#]8OQLKP%!W]AK(B#*?N<4]KQ['0=J%_L
MQLQZ]<ROU@6NLF;7;7!4#A=2L'Z1M[1\L]RJQ\CNH$IFZX5)*EEI!^H7PE3>
M*/-:<DS:AF$6!J5ENT>V@_6+OE681DJK-AFEA'0[JF>B-$D'ZA<I*J7IZU95
M(^>3]&S8*65C4RM8OQ"Z;25-MUH"V;5'%L<OGUO9Z;%^(6]^NQEW3H#4J]EY
M7M;='^3H1:_A;'X[$^O,5?5J6M8A&\[<9V9]63)34=9D2ZS+0*\YS9]$OM7S
M)"=[E)X7N(7 DY'(TGX&QEZUE6N')<FIHCFW,)";#%'B#.A2.[J8!(QHRX8H
M$/(A"Y%#"T:W(& 1:&=V8(0 [S[U!?C)U"?6&MY(WDFRT_?*;O+<G9]+;XJ3
M/S.!P+D&>R03!SP*46)']#'V0QL.AWM?J)^:;Q/R;:$>J2C>F/!M#,:Q<.X+
MQK%P;@O&L7!N#,:Q<.X+QK%P;@O&L7!N#,:Q<.X+QK%P;@O&L:MNS!^F>[[N
MJ[P=!?[ D7Q=^+XK$O"Z"C_\?[\HZM<'Z9%(/2:CH4H/#P[0/B;A:R':IZG!
MXW\_G!R-I>4[2<M5](K;4N",_;^J!<GK9_K%;RK?@PFA(U.XA>=&K(.E"4L3
MEJ:7-;GH1Q4Y*HH4N3M2U-P".<<:&N8/C+88;2]%)FSO?"<0P6?*FV=*R=!-
M$Y\H^$3!)TK(R/2]I>DG8BWAE;;$>(LY)+CRBVAA_SL6"2P2!Y'(N67U,&9B
M!@ED$)KG[3FJZRA@'L$\$L@COEKBF$<PC_S!0?-^!>PE2GR%3G8Y6_>;:&GD
M&\+SKKX]%Y.";Q0L1#S#ZL9W Z)O\<&K:PUBC_&5@/(;L0@]AV6T=_=UVF)&
MN0&C^+HP83;!;/("V0).G ^XQ>Z@8<\?&[YN_92 +NX7%*>;MO@)H?)*W:"9
M8?B)XMSIW8 L=VGZ8/;!,H5E"LL4EBDL4^$D%):I[R!3-PWPNFLA^Q3E0A:U
M<1E;-+^OP6F)_%3355W:WH7/YCY0Y99>JXMTA[U^5.>)7RFXU:M_7=?N]NI6
M\65?J=V;W3YQ,]W(P7:>]$8V]]_9BU-O+TT=N"#S"?7^8RN9M&K')W*+L7/2
M+*=-V&B!^DR;[5<FB8+  SK,:K8I1T?+:K&0Z\U'RWJO7[0-6,$?=9A-IZE7
M.LQB0," <&M .%L7\1=&A'<A@B^HRG^=%X 1:GNH)1;=IJTDU99.4VLKKBFP
MST828D0J>=XI]6\,$A@DP@,26&L(P@A9TX5W H2;ENPE-_AB[0X7O$'MZZ?U
MTC2:G?24?DK3LH.RM=/Z$#@R #BP8H$Q V/&G6'&._2*AA@$!>5L-DKO\EFE
M4$OF:H.4.I&V:]C5"_:JHJ*Q5]#@IT0"Y "0ZG/1()RR?;IF3N6%>:^.WK=@
M(B 8\V<X;+^Q?_9;8:HGCAV_-+IX*@KCMJ3GHS,ENA@SV6E]SG=V[:_UW%"B
M1-/M>'Y'1N2&U>)JU7XN*K%IZ+FA'C+)Q/44+ PE&$IN#"7WY?<)"Y:\W^<S
MB&0CN5'/R!7F<C31YV0KU6C"ANQ)B"ZI>.J*/A\,+QA>0J>I1#![8_;^ONR-
M#\\/.C;$L=TPDI1,,9&NU,UJO?1P8\+.XM"Q$:72EW5LA-^+T3,X000#%*?%
MJP5_A22^G"/C^X E1D;LXWTW#!X$B]8$]$L#BI7GX=7F;'746[696J_6;XSX
M7K&7E+[6(S$9UZK=IPJ;+]C58:QMY!J155-B,] CD8Z?WQ)C1,"($#)$N"^W
M0G@@X?V.A7&)S!;SFI GFYE\/JT.Y/&@O08@D00@09W? ]U'* E&B9^$$EAO
MN$4T29.GM.6TJ4<+\_6"VS!SVIK5:8 <F5__WFF8*H8-#!L_&S8^['?)J<52
MKR>U\X5HFGQNEI5(C)FU 1H@O\N%W2YW&4_2 EBK63B !/NML=_Z%@CJRI^+
MF'$S49Y+3]*PL$PS69.=1"AJ2'^M@Z8USD1C5/.Y5.@_LZTZ%VMK&5IB*1)Z
M:*[IH,'0@:$#!XS<!7:\WY,3&XZV_6>YSY%+ZCD]J9-\48^V(9HD ]$$!XA@
M./DV<((#1#![_U3V_I9Q"T^B('-$#CP6'%=$GK.X,6>*=^%%##^/(\&_8;G2
M\%/(18'PE'2];]O;DU]/@\ZIA0+7BZX&BOPL9,S(CBJN1E]L?8^3O&)2NYA4
MX"ARO!-;O6C&!-8W!:WOV$/B5:<EAA\,/S\:?N[+?K\E_KS?@E_:A5Y1;R13
MA>6ZN<Z:RGACVVN(2$F(2&3ZFED>/UO@,"3=/R1AC>AK C_RM5ZQ;>0Z&B/6
M,^4)4TGSE$A#F,K\^A<K31BA,$)AA+I&C F;&*<L;4>G"R52&Q;;\C;Z-$7
M X-,XO$,CC)YHRFC;G$J@;N8A*J2]3%@Q0!@";H-]^2K$.O#[/3?%^*7EWWN
M-Z?-'Z'YZVW\0@CU4%=D/3@X'>W"?FO=+J[RIEQ6Y$QM:W;$V)(UO[@JKEW-
M+A.#;H0I=+E):52OR<IT#0SC*'3591ZBB7@ \F,HPU"&H>R#WKS7H2R,KKZP
M8=G[W7[/_>6366QK$Z:_:9;6H]2T.LFU(;K!'*R'>'!Q%PQO&-XPO&%-[0KH
M=GT78C%B/C=8LU5A(LEX.U*G9KVA)4'(@\EC0=EC&.XPW&&XPW!W&V4NV!^I
M1L=#SK2R\T)?Y_EE1!V(:X.&* ;]D>G 8D/CS_DD?S10X6L@G#C\%8G#H:<!
M%@0L"%@0L"!@0<""@ 4!"\+7"L*?721<B"@X?@/\,<<M9 NL=B<*Q*$Y<%>?
M6&O.$+&3[)OU(7_+!W:Y3- PM __.BS!HH%% XL&%@TL&E@TL&A@T<"B\?7&
M6?@ML;>,+>RSN0.?S5L2C[LC?_&EOD^J/%%RA0N&"N5TTW*O]PNTTI6*DJ@I
M]C@AFA535-+3KR[06-T^R8RXYIB<E-S$V.UZ.US3+)5 33TS#[$$;IN.@2',
MP'"VKO#&;H<2&=X?Q?VTRDXH:\&-2*[3X*35N*;;$PEB!6S123YDR'MMIH'!
M H,%!HO+!T6#(>#M 5!2WHE)4FMM5PPWT]H%KBU$4^TVA)+ UAH813"*A A%
ML"URA5#C3#<AU//U:83)D3%=L2M&9QM!E@@*-7Z(QW&+C;=<-D2$D#6B9>B2
M(9IWVX?C/G#TS92)KR_,<F/'[ZV7_U,@NZ\;2D7SI-P#\+9N4JM)1F+D9#?2
M3S,S+B)_L3.)E9C9A*NP#68YR&;'L='2[FR @9A$W3X>8N05?4D8HS!&?3N,
MNML*_U@\L'C@(_Q61_CUL]L7ZJ3;+&79BE**+^9],RW5\S%TTF=^_8M/>0QC
M&,8PC'V!)1+L2J)9MKD;IWJ*P@D)?AZ/+@2N@] )5=$$ADA0-;5O'>KSCJ*9
M7YAZ@3'[YM4U0E-YY-:$^-YE1KSOY/3YPK9$PQ/GDR^ZT$UKW6V?J[?%0E3,
MIW>#7G52RWQQ)<QFJ3)FBL5TEHQ$A'5<J5+C=FW-4BGH1(K&'I+7+H6)P>GF
M,HG!Z6=4M PO.KT_*FJVI$O*=)"D%4YNJVE]GE(:K3;$JU>CHC!@8<#Z88"%
MM:D/XM7U_7E/U"S-T'FMQC2?[)$ESBM;A4(@%AB/A>$+PQ>&+PQ?5_;CM0:B
MGIHRK92R78N];GF8L*PZ0B7HQZ.B#ZG [)1/%J#$=PSXYB6<R;WA)\K-DH)#
M318L05B"L 1A"<(2A"4(2U"8J((EZ,=)T \-[\ N.^RRPRZ[F[KLMCJM)>6H
MV2;GE-EEZVG>?)ZUOS:Z(M<:\V)2R!N%VDS,QB-F09FH$DME8'1%+/J0(=]J
MZ8*A T/'#X"./Z/,U:,KOA([WA_[L*9Z"2Y72<AD+B86C<@ROFO5$9HDW>I1
M)(Y]P'""X>2[:B+7CTQ8QY2VW!ZJ$:4Y3G;Z0C_)=D8(8F!DPEO7?QA=,+I@
M=+E7=/EPX$"DM2Y3@M'CE20[RQM9?E[NL&L(&BAP(/:02)TK)@&! _^Q./"F
M*Q0NAH G3[9';IYC;G\# 9R!^PRW/P %M"3OJ2Y7\[JJ<@M3_.W]X)]Z$CQ[
MZC#0G-M$T,YK^QD@GQ5G6[KW 6).YY,COY;?T>6,@9^X,D:2_P,7;!G>Q-P7
M4@XA7A1>2U^\RT\GR*N )^O@:1-57WOT\GZ/0/'_/39$3HFL 87^6>BF#'GD
MMR'"(VLEGCQS_W=N;.JJ;8G_@(D%K.]VI\8?'!I@7?M_KWJ&7GE37-E +S[;
MGY^\+V^4@</;<J-M>:NP'=X8C&-X7S".A7U;,(Z%<V,PCH5S7S".A7-;,(Z%
M<V,PCH5S7S".A7-;,(Y==6.^94 A<42H+XQ0OO:5F\\)SP-:B,977<+QN@H_
M_'^_*.K7!RF42#TFSZZB;EK=[CTD?.TJ*B_R*-F4B%$/1)2,QC^=O?FCKVS#
M?6M]MO_?H^E)Z+GB"SJFW!19L:Q@6<&R@F7EH[*RU\RB'U7,J"A2S.Y(\7*C
M\7Y$M!S&4HREWSV-,/3,\+TAXB<>(2C%#!\@^ #!!PA&4HRDGT!2+R<&@REF
MD$ &:8@6=HR'6R3(MTCPVOYZ+9'&F-5SG&%LP03O!@OQQE]FXWVIHGCO?]C>
M^Y*![V;OL0X4AH,!*T)ADXL+8.+YO]=#R6\43//,J?;]].G#?'(S3<M7U >S
M"V:7M]AE7YX%,PMFEC\_@]Y6T8ZK.'QQW5G?0Z]5@)7FE[9LB )QJ%Y"..5+
M+BI1-R#<:R2Y7)]O7*0Y+$6:3]#B[:J)QP"*&1TS.F9TS.B8T3&C8T;'C'Z'
MC/ZGUDSX39>\N!)5?0',$TODIYJNZM+V+JS\\#/ZM2/XWL*Q_[Z/(+RW1/.L
MO.EU*IA24;>$:?Q3W57W\M3;BU,'KLAT^ZH.%_U&6FMTLDRN8-.=C"X/!HST
MM6T@^J),;9ZRQ3G#<6MJRB4[$85KLRG4!>*!3 951\6(@!$A+(APMJXK-6#X
MAI#P_NX.[&13&(VJ/:X0C9=,)E&+I[9]"8!$\M>_T8<,==X7_F^,$A@E,$J$
M'24NW[4!# %O#\"09FY=[$Q,K4URFZ9,QJC5NI2"&)(!B@;&#XP?8<8/;'=<
MMBU#<S;4*-D0ZLQV-%)JR75C^)R%8("Z,L23KQ@=/^(2.0< 59^+!N%44M,U
M<RHOS'MULMX'3&*BW(-S]KZ0V)/CCE^,711.3LO52F01G9/=9(SMFE0TPV[H
MK_7^))358LPGA!;3W:3T]7@:T:?3-IN&WI_H Q6/7\_[@\4-8]"=8M"=69-A
M :'W^YOF>;O;D;=#1LD];XVGZ6#52RTA+,%FH@_IQ+E^>#E[$8L@QB6,2]\&
ME[[0PQ6/&D]ZH5QD"S*MEB=4+=<$IC= K0Q0IC(8LC!D8<C"YMSUG&IK94V-
M9+KY3$;D6,OJ2RQ3L]< ?Z!3+9HX1Z#O',L$T%L0P0#%) #'$!;\%=+W<DZT
MGXTFN"09OI7X,_ \2"2M">B7!I1'%SZ[73JW8Q-<69EWHOE*?L/S0G_]M=ZP
MW9Q:;G=+K4/:UGQ;E)[5+!.EV0STAJ6301WF,91@*/D64')GIF-XL.3]3JW.
M_'F8'G5:2Z8FSHU26HOGAPT)H$L2H$OTFBZMGRU<&%YN#R_GFDH$<S?F[F_+
MW?CL_+@;(]$<5U>D7:@7Q%)IJ;1LOF),UN"<A&Z,V(\/#6K]_^R]:9.J2K,V
M_/WY%<0^YWYC[7C:/H 3KGV>'8&*MO-(.WPA$ I$$)1!U%__5@':VM+3:FVQ
MFXC[WJO;+J$JAZLRLS*SH*FAVW$NT'<*'N-O$.5\5:AQ$/C3^!DH8("7'$>F
MA%ROG&6=%#M+5;@JH=!?'+>8+LRTZ,YMB\DPT_&V))%:(2]S!(X"%W$.3XP=
MWQ@[;BQP<3WP>'^@ L]9@H'WMSU\8/>FS4EYK-<6-(*33"B<W/1!]H=DZT<"
M3/11-Y+ =,F01ZPGL9[\"#WY?GD)#2 J/%: CX6[)U;D;7["6R .AIY/ZZ_8
M0C7Z% H@(#IM9F\\&+!3X)U%G\ALQJO)A'ED6WBRK8A6HY!)?G%+EU1NI'2R
M[8<UPV^LW+0X3'3E-;3?";^G2_K5\LH8?V+\^='X<V,!A6L"T/M#"M,:V,X2
M=('!>^MIOE=7I/1XWD&0E/':3!&WG/YPBZY1#%(Q2'T#D/K"ZIZ1-<PRI8DX
M4)?$*)\1LDP_B\L(PG)__7O+#;!B^(KA*_;Q(FIBA:?(Y)B*KK0>9QH[2+4:
MI59JMK(5#XM0CDPZI-CPAR7)O'['I&'S&O8]KV*)/CJ]$)D_AJLDA"O1<!!/
MO@JO_EB<_OM,\O)R>/[JM/D0EK]*K$@"/;(BN1T>/!\=@+ZC5S<]9R8P.%CG
MA%&URS7TRA?G^6SZTTE"(88$LUP_9.WV(]$W.==;_5__YNXR(7TQ8BR+L2S&
MLC]VJU_'LDCZW%$#L_<'"8OF?-I8)!I=?-E-VV"1LYOBED;T0!52$-Y"V\3>
M-K[=HO,=0:6. 2\&O"\!O"\,.(ZK':?G$JLM6UNX1?L1Y^1V3T;40AVS8RR,
ML3#&PMB1C;3M%QZ]7*Z,LKN9XU.VU]ARV6ROI;"4Y\:BZ&4N&W;ET.03$<P?
M[:/&:3EQC?17U$C?W@8>:T:L&;%FQ'D'L:K$JA*K2JPJL:J\BRAQ_DB!7R@V
M7.H6B-C3E=D]0[)=W@2W'H6+MF+%=9U1J>N,/%EB#8HU*/(:=%N677PT%.M8
MK&.QCD6 3+&.Q3H6I8/ \_B=;[F6-Q*OBK:2Q'>B_Z B+B\EXD"M=KH4:!=*
MPBH8EATD1PSF*5,QQ<*"&>!KO=-.&%E3^>([><ETBEY18%AD!EUMP*SS^5:A
MV>&(-,KR)W)W%'%:;1HC0XP,T4&&DW5%.'$TDM#P@9MR<W)1R#RDFNK<LB:9
M/,T9,]9%8(&NRL7OTG@V+DV/X2.&CV\#'U^8@9Y>]%AR:&D%=MYJ5Q:K9C?/
M)#U+)/?7OZE,: IZC"PQLD0666*7Y1+YW"L^H>?E7/5!+:S93BW3,;DJY=D@
M*)^;NJ-2KSDL/R*?X/6X#I; %!UKFX9L BN^V>6Z%3MQ-Z$_*N:)&PQ=#.@'
MAJE6]!T\!+#?V<S)3'L+9GABTQ^7C)6:J8R_.%(U2B8'@[JF3M3"W!RE%N7)
MBJK1')$)&LVF+WAE;@QN,;C%X!: 6WRS1*QGD2;:3>K9]XI#7=:*^,J^")-\
M?9U[&.=41=(>)V5S5;):,K(Z4"/6T^+A^'JJ&!PC3;2;!,?8P[I\8"W16':%
M3'ZLL63+K=<Z99!['+H(Z;RKD._2J=<<K.^7'?6.KJY?6)OSLT'KM WW3VYU
M<VU"?/.^-KOO%(SYPK&!N=/G9U_< 7=G[1#-1X53-Q9>Y;A2(S>S.U\;&IL7
MM"K_R((>SB?S387M#/N+=(<CLB@T1B;ODB&GIS$ZQ>CTX]#I8Y2)I@<>77AZ
M?R)9?S::,XXFI-E,B\P.Q9*=JB5=!%BO)I+=$&+=HBM];<V-(2R&L$M"V!>&
M#1-96Z<S[:&N;EI=;L+.UQ3KR C@4#);]M+]5&-TB]'M)M$M=A\O:)^]$/=3
M!#6M#\H,SD]S65%_G#*MD@=5*.Y'D'=)ZBWO,>)9=9'W(.,DD[CH.BZZCE4J
M5JE8I:)+IS@M(=:Q6,=B'8L F6(=BW7L)V:<W%20,-K*$L<$XYC@'\4$&Q0@
MB&&3S*LU;IBL+[.4134N="'[2PD?B;Z8;%OU-,W6'AF*%_'Z-%'L<$3.JX5*
MWN%$V*7L,7;$V/'#L.-CE+G\:>E7@L?[TS'6#X!OU+>@B2NE<GW6F.AZ%5WU
MG?/2,7)W1":TT.&&\.06W9MKZU4,,#\98+XP6:+< I,2D:W4V=YJ7C:6DR%8
MKV0$/[F__DWCF1A[8NR)L2=VC-Y,94C5+6L@C;IS=3E?E!,C*<D[!1H!B9?*
MD+Q+IM^5RO _-@_?].]N:-.90]X(%\ #A(Z*M#D*%!V+_QN0X _<%^U] "7.
M+IYA:TEF3G69P/?R>FB68F"] +H%,!.@O4.7,=O ^.!V84S9\Q_C/0' 7-["
M_OO,(EUT3&\N',$%,MTWN.3%+TDVFNHDI0JLQ?+E?)J=6IJ87QS7_J4_I#B'
M=&U)S]^Z5YR,KSA-WC0YLE/<BMF51N$UEZR-C8&02ND=*'R7I7#ZD,+IBU$X
M7=TVW,Z,3[")2:I#]]+6!L^[7TOA!QW?I)9+.L\LLR(^Q#=#'+"0POA]6%WE
MLP\PJ)X:HC^<(P9X88H9$F9/ ?R_"4!B#DD\Q19010W1P@!4/A%K\"8<EB3N
M,$1:##(*_9"ZOQWM%P[**\5]>:6UZV/V%0AP!OG\6#[@REY*SG1>G> #E:6Z
MC4%#V"2_6%*Y8KW%4LR65ITL)XNZVQH;;1=NH/>G88"]8"+YN@$\_B W'F=4
MNS=DMZJ2Y,S'6EVVN/D7<\/8Y&9E41<U1DD)J;91:'1K.1KAQFF-S!%,[.$!
M\^#A#5RX@ZIG+0!\#E2TC8\2Z/&('XKN\ $NB<IJ]U_XGQV*"!K@36133Y]9
M)$FDZH%%C>/_N8A=+$"L >8.:,C4SF?8 PUJ8;\XFOO_.9S\TX%I0C TP_R]
ML^T/5C7U36G2,_-ED)B8@%<3O 1?_)O77'YC!:NDJ'LRM?,;?N_] T0'+'U/
M4?_!GGY$U#@AY9Q?)PX(=G2JZ']K]Y'G#^P^,RP%<>BWCY\K@)Y]]%2/*[:Q
M^$T2]QXNPU^#51&I^]2%V/0R^O\OCT'9A$K^7_U6(=3(13]#Z8:ZI?USZ,\$
M'_WU;Q]9Z6@C+"#,T&UK;]_R%[)QCT7M'4Y7I=EL%>D^C56:A7N,;A:Q'IOO
M58H5NEMA>GO7X_H3;;;Z3 _KM[!"JUEDFCVFB'[JM>H5.'WX2ZG2I)N%"EW'
M>GWX08-I]K]R^K[TD._S='^Q.N^(<$L0#P)%;T.6IV() GK43XZ5KV-/'Q[K
MYHG2^7^$&"[\0B.P_PNA%7WS[V?J>*351]D#_@O]CUYX_$Y#>6^/X(0)2!,2
MG^9X(C?A4I)(<GP2;I%9D,NE 9%-9L7L7[Y.\#M'N53E-VI[9DW4>4?A#1'8
MDR7J:L3AST<^EE<+VUIPDDI6S*1%=J84N:+1=OQ\Y&;%I2:4TJ^I2Z%>-/)3
MFS)K+D>>/E/(BQ6EM5X[:DW?D _Y=G&Y&LIPY,DSE9K&\4IF5E0'#P.>&#@S
MP*DN- %.GDDUTUM< +2,#_3DNM.@*'&5E;G4Z<C.4&D,C*&:9PL;;KJ@,_V)
MPLI<^G1DO= 9X],)V.)E4$CH!5>0J'6'RYR.-&O$!LQ2AL:2TVE_F>BTLDS/
MY;(A(\W9ND04*GU6*:OT8W$D\Y49S5'[M3_;<OWO33@V/1K5N;8]9095T)32
MU4:BJLD<&DKNO;0@4/$1BW9!U9*4[%9<1K%30 $CR+B^^]QLZ0E3(#H:,*17
M;*V28SLF.+1P&-^H]W"Z#R>4UPQ!_6NWI&Q>7U3P>6_$ C[9')?3R4[:@FXO
M@$;0 K[<-AUP"7OA':X*\DXLM+,<&TMW<&XV-.L@LF"2MUJ,#W-BD/45'K&
M_Y,,33-<"_NEZ- \,QP+6F#6W[_/!*31"3!Y,;2]C>7'4:%]I?$+"_S>_7 X
M=<2"P")!0"OXF_H1.O..;1Q#L_?)$9R>HNF3#4KYR&F;NWGM+""?#F]&B[V'
M9,G[+/':L<$!T!\\WX#/E"#G=T3;_9Y 4>??OD'I0C*]:<L%O#C:(OB)96C0
MGSF[$?>GR1@?.*XX<"D^%[-/W2=COD20+[&^1)0ON.>KQHRY$&/>SE .VU>N
MW8?QPGG,(^AVG>F,]BV\_R*W]/UK___^B\C@_YS^]X0>T#Q"<O7__B+_^E/=
M)N]SF>L+TQF)=^A8?+3\/%3/;O%J%^2%G$USX@*:,#OE"G+Q&E7.<1E6L-%?
M8641:.K[%.O8&+2>44BK@\\)J\?5*<%ZG%VJ%]II&*0+YCS2=+,EE11TT(.V
MPI L%B&5&BU63DUERE9_6$_1PTI1I3D2Y?:G[JAD6 K+YZ#P)G O<Q,6PXV
MW,\FP5M^3XQ]Y\:^)IQ7WP7:"C2\L^@0V*ODE>E@T"A7&;"6U+1%;6M]"\7Z
M/=C+D&$533_3 LS&%N!WL@"C3Y78?(P A")KL>\:(<A)CJ6B64F/&@Q\W]*:
MM.OM:IWF4O[%>$3R-&OK1QB,5&PPQ@9C;##>,-JAY,40O+/H3H59C9D*4RCW
M6<$<CYAZLL.E$=YELZG83@P ,!?;B;&=&-N)/Q Y2X83%EGLD59?JM(C#1^L
MEOFN8!%]>D1SW@W*!/X3S<3^%)C 2^..C<4S F-\ ^/;*!F=D]EO!)EO="U
M$"D\ZX?R! %AG5$D>VS:W6&9<8CI9*&W)% :H<1>#S%OWM2,O++$YN>'S,^K
MMRNXWDGVU9?^/0'UCWLQ\.7):)Q9<T!U))Y2Z@EYJC5ECO*0,WF7SKYI;NZZ
M,'Q)4OQI < K"8%_GA3_O*/$:85EQ%:+?VJY%RY+J>B",0=]?EU4+$$S+,<,
M*3.Q<K5.1:Z5:DQK72\,\IW"//W@^NH#R0Z- ?N5<5Z%#7&AHI23++=7RB4/
M^2,JUD+C-[\575-TD)B@]9Z4> 0)M-0B)+/N4Q-^L3 S2-1#+090>IXG!CZ+
M,,@C8'U=B<NI?)?>6Q!]YPU#Y>&\OL%,(*!]1<0@\15_*3:_QA:F@30 XK8A
M8?P"_KKVRH*TS5=W)'A)4?ZX0GVO4T$X(0]T("EV:&FZTE+Q:FTF/S*;7H6:
M))7,HNFZJ#3]M&?7KC3]'NL?T%>&3S>]>BI(5J]@**"R5QP%,$0S=*6V#<=8
MF.B87FL(^ >_U\4_V-1P ;0A[C#=P-C[WCTF 6@&\)K'IET]%JJ\0IR4=:^7
M!/S-$X7C-Z)!DJ-!%AJ2!/<U;++QACDVQ+F@P MR6X=_,19HTF@J$'0L3("T
MV$ 2NY"O%O8+X2")_]-LU0LM[V?BG[_]58=*T%[$=C7[_M+@",@>$VJ'WQ,#
M+M\VGD_&6[$()&":/@F#6K,[GV*A+[2.)!Q-D,C^@\K2O"9NF.5,+$54X)OA
M&T._CWC#"VC2O"Y NBGV%-)!"&AN MGQF[\%+T(?*O!=@HUF7-:,"1SY9$-@
M=<--('@0L0 K=@0L5^K]RHZ :"J:$\P_8!"<QX(W]XR"9 *\!7:=45:\%I10
M\JC@SIOKCL0A)$-?,_3]MY^3I\#K/*3* 7TV7NL$$TF?!5<$O^? 5Y@VCT07
M$2PH:;#@YU D,;I7P+(I_!Z[+ R^O*M_66.H/P)HI!]/U96\#@TB#8.&O=^1
MPA<M)-(0;34%<<YXH?]->)L+48&/,J&8F\;<1Y9#L+"@MCBV 7GJO0/R\ITH
MOH F!Y>IKY(%8=,MJAG&&;;*1KXRR[I_U%AFC[ZT8T\-$_+JJ&M)$?X1TD@H
M0-?'-C=!EQ*^]IA1C1[GJ*159;?#7DTHX$?]H\CW!T^8'<GW4^E"DG0A2.D"
M%!Z_K:-=\@G7V]'M:'"P900;R'[G2) '6P<[RHZ*Y*HLX>5Z/E\3LD:?2<*M
M@R1.=H[_("B$+U_P")Q%!^QX+_$KP_0@W)<3Q#?+AK908@)Q %51S-$,O"G?
M8<(4(HZWL80@PYVGS$]#'/U@OT"R-_'7% H^E6X/LX O)T2&_#7_&^/WC2_A
M-ZQ7L1CM4_OI[U XV&&\$6AFP9<!;^IP0H9C0PP"3W(,_64H[(J%T&F&'A50
MR/LC>@.<F>PC[T%=,EP[^B/8/SX4><_5,"K&J_?C5>KNHX!U1#D-V#8PO?@)
M"G,D\'LBB#H$='O/X$LCX O-G/X( 1_[[JA5$*8KO-<SU?YR7JHW:VZT$5 J
M@91-J&J120RR=>-A/4K/\G(X GZ$;V%H>47XN#MTEO27;"2(@]"QQIS% 7*B
MX7 MT&3;P(D? Z>/B@:<I.E9Y' &)C+^0O&9AU::Z/A2'/@58<8A>N(.?\$Z
MV MD.%7+^Q,R]8%UCWT)]KR,BN%LCS96ODMNBT_.G:28EHTM'<@_R%^X+9XZ
MYB* ?YHK2)P5V_/=YI!UF*:HR FW(?.@1VBC'^S7S/IGWHYOYO.8:SB:"/=\
MS+,NH#9 X4)]"+UG!*; [I%AOL3^25Y7-4?S?,5 ]-YV4^ZA)X3>*$Q]@D#%
MW"TWL&4.*0%A"6FS-P/XL6P:KO<U$R -D9#.P-GROG1@J%C;&Z?QEAU$0Y!Z
M6;OIA3@Z=\AC=H&FH7^!=X3FVR;(V8-[P(YM@3,?^*9!@Y1C+_O^U6#H33:7
M(^/F<G%SN;BY7-Q<[ALVET/G>(6J1*57>$<EET!9$*/&X[CNAC6 $[NZ93#6
MNJ46%B+?UYICW98Z86W=)+$+R.XL#Y\YINJ/5-IFLRL9.@,G(Q>*QCYL&$O#
MR=9DM"X\,DIR@4:F3AK5@;EC.J6!R=9J5KZ670\>$T0GK %<EIO:B1*8"8Q#
M]P946NZM'N2@7.)X))Y7B?$CUZ>9WGHI5F;#<<J0T#/3ST>6.SW2E/B:@Y?'
MRF3$]@4Q.PIM*C<&/-<3#+>O]EH#SFFN3:<QH\.:RDTZ';N\);A'=D 4ML5-
M+Z_5<1>./%E[OLB"66^9ZK)\8> LJQEIVM)#V\_1[B@G#<0.BR][64G01X]:
MV42GLJ<-]>:R @Q]M50WW8W,2-6.L)%E+G<Z$B<7@_F@U4VQM4ECOG+P94GG
M:([ 0TA?$&=U,\D-\7(YD3)=4DJPVPY'A#0>; ]-MDGC59ZMM?"6DQC,$HN4
MBX:>" F?-<OV=BVEV4%W.C=)>=-LK%UT-<')4U?ZC,R64AV663(#<3&O&XV9
M[@T]>6I&[0Z&ZWZQ@?/]@M9W&MG.5I(Y(J3YH$SRXTUOT1(8A<C1L]RB4]L6
MX5-#A*]?S3FU_&*T497-8,725265<2$%0B0E1RYJK/98!$QB(J24Y61)%VGX
MU!!1Z51&>6%0*V289;$M][K&N,17X5-#)*#:?RP6',TML>7%5$I6RUU-8"&W
M0D2@;')+R5[.D^KR 31E%@BT)7G7*9P,W=;X_N01#->XTUS4JGC?F36YW85T
MSV3 M$JUI,KP:@$.!7,\FZ,U[[:78ZWB!!*?Y A<Y"A*2',I(2ERN2PN<0*@
M4'([F4Z!D\:6CV-G,P$%KL'VEN*X4:B0RF.W$X96;%73DF6NFV;(8F$P76\%
M4#%"FU *[?&6*CH-$N\Q<GXQR=6'VW(GM GEHZH"O,(GU *5:67:%9JC3#H,
MUQJ/=+?'5![&3,%)6W-M(,Q:#W086FGD:$'H-,&P9;VYMCL<R+2@=H7("Y7?
M;";E<1.PK<?>H-$MU:AU(K1=I5MAA7QVT&'P!,AN\>QL#-\1BA=;U^V/2V9W
MQO!TNS8D\)Q<'(;BQ;#.RP.\V&NQ<'><3R:S=6E+==YN;/GJL7NT/=:^Y\T=
MAH6LG5?W6K#..S +<T9#HH>?[>,-73?H@UG.'!TE;KU037 HAZS;"4!MO+XP
M86/71[0EO2?(]D+?4$-,R1V#TY-L!D+"]#%EX@FU<X$4C0@ETD2QF>;.5/QD
M-TW\/DG&3>C>S#F[0M=&(A?S)7I\(8A[,ADS)GJ,B14FFGPA2'2E8<R7R/'E
M/AUWGXU.]]FW[+#KUM6<1&*_J-#F=4B_;9KLN\PF_[C+;/H^]ZHM$KDNLKL\
M<*^W!.8W(SO7E;%OX-D-"TN,)3&6?!&61*@N^K-8PQS'Z6*8N3V8"4DS^,B-
MVXCC)\3ZALCS*3*]NRO^I^(EWPA7_";P9R'.#Q<-+S+PO20C=5/;S ?7'JV-
M)V(W!009Z8>%)KL"R%]!SNK?&&\_.XX\&XA$C!H[H#C;_O%-NIJ=JV+M[<+C
M#W3LN7S)15_@"NRV/QPW-9WE"[S>F.;)?KN#<BY(5'01<K?Y=U6-_YQOZ_SI
M2O&LB$FD5XVUV% 3*C\SDH/L8-GEYW*4E2+;Y0J;"OE08&JU7C8K-_7Z9(ON
MS4U=3BE\TR*Z2G%[;BBS*R#]_2U\@G/OW5$-EGP3[__J))C#;VK@G<>]WV"]
MT?#=OH($;T/Q$>^CYIAEO%?TCGH#W*I5&7VICQVU2#AJ@;A#:6\#$T5U>#G4
M]&P5FZW2:I&>P+4IZP=NZF:41YG+>/X8=7]:!A]KSJ4TYS:<N<2M^A[1WBVO
MNC4^;XWCM5>3]J430=PR-H//N$%&2ZEO=#?<5;2\:T-$0D[K8ATUR=N/ U;8
MIIB96^GTBIDS>*+0L+0AR%1:>(?+>IOB)??$GZT9%_<9HZ<8%PI=7DHQ5%V?
M*KEV6F 4-;O1UUV*Y-<R5(P4ZC>:O5R<\CLHQK=PH_O[3GE6>*N\V#^(/>OO
M;DO #U%#&DAH #\$5LG7@C#$=-CA0Y$FF@UU28I2=\R/!U:=]BNR(4-C]SIV
MKW^:P?$![<GT)A5]0\Z!VM.F)17,*O ?%VH/.AB]?^WFGS@V\3UB$UX;RX->
MO;&K%0<A;M=P*"N:K00!^5#_*IVC^X5,J8=GMBRAC J;HC2DN9QO+<2!ASCP
M\(WL@+>4H84WQ6*3&';PEFL;&T*H]==D!RH#W/PA@%%QM.';1QL&BCV=&IK?
MW)9?Q\Y1'%NX11/AW:?V!_(.__[ZR?VXG.N)@"5=II"QJ\IB4RIG%AW4\9%$
MP=AD'%J(0PO?P:2XB/+D1-[(%^L;B243HVH3]+0'/>$BY?$B"]\GXSK:YL8U
M;8LNL!U31_<*/-V-$=Q_$;M5WS;(<([TI9BWL<M\A?W-!ZR^T=[!51^B%;L(
MV][PLMP2#:JZ8#)C$DPI^.8,):.^W7![2U\FD!2[SI%RG4LG)_/HJC/X5'2I
MDW^O&= %^+K$V_<MQ9[##_>[S[=KQA)P [[C"9FP7[>\N090V-HC87L'A,4]
M#@9CF  "RP@!O:0XA']PBX5_@SMLV%XK"HW>5.WWILR<("8;I4)5\GP'W68!
M]]KL?>YDKSU'\5'L2T;*ERP",/?Z^MM0FJPX4_Z[^(]7 ,)KAZ!]4:X$DOQT
M//<R *HKMNZ0?*.%;U0:;PC2TAJU.NB.GA<"T>>KOOS9^G%U'_R;V0F740])
M:^+<S,HX*BAM*J"TQ1\K#YYZ>*'FTZ3Y\]D'WT$]OI4S[ETGM'.^;8778K_J
M1WG6W\>>^$BB3R#]1R.*!TKP*GPJ@UQ_,YL/-TQMR+2!9ALIPNF@:_T\ZR)]
M0>LBUJD;B%5\FW. ,VO4B2+-1V2I,=QD@-KJ\ZMJHYRJ]1P:*5(J7)'B,,5W
M"U,4_/"^@G0"W9DHZPJZCA"5_ <U_A;VB^X5L&P*CYVT.(@1-:/CW5X:_),)
M> L.80\$'0X->C&^'M&=;O$9;EFN@0]F +<D#5#U,8VN!_;2\"]I<OQL7;EZ
M0./;&!-GU933HM:\T5G9H_R [4WJA&(,S4F"]A0$FA*9.+W@!T0TGDR)%:\%
METGSFF:XO"[<;#OSZ"-D'-6(3%3#UX"*7@30[3(]S*0M"]C6XTXAZ)T^O&IM
M+*I&500/%,"75!]7VH5AJ;:0.<)KP9>\Z/%)K%XW$.#X/H<LU] N,HE+L\)&
MLAC0S6WGZW6+[G*>=J$J0CRDAT"<GO'MXA[[SNSP38:@)B;0X$6WY<U11WY/
MF&('+@YVW+ MTIOR)L@CJ2X<"#6S%H!E/?ER[SFMW@S-[GRF5R9X;U7N+4IJ
MKEA+N1SA]3Y,X2%5UW'P(PY^W*Z=\5'-.5&8AT1%*AN]!C0PI*+0+0UZK)*6
MD<+$/1%_2"RD94^!&3ME7Q[SB-"=D;$=XDW%TX3]1[I<L<'<>H_9T0$+LJXT
M6D/<P;/$I)YK)$M3B**4G^5Q&E&.@R!?'@2)LKK]2-OE#6T[S0!9.)RM;I-;
MMMP:4LQ$EBO3JJ=DES95OJF.W6HD!(J5E_1QUJMGOP-#SWN_>1)"I&@X$PW\
M4(R\BD7B]Y9U(&F?"OY"+]T$]&3%9Z5'=:XWUC516TL$#M'0:[:8O63_I.L
M@/^*,UX[&\OZU>V!]\IZ1EVV$NV,.F V>J=1*G0I:K6ED:S#G3^)7[+?442$
MW=NJ_\?FH8#^NUMLTYG#1PKGVJ .Y''F6+8B;?R/%!UN.O;OX\F^L6GY _>V
M]@?VL:.EG0.=C^6P)TR!Z&B@);V0+]0U-*UDF"Y4ICZB=A^^/J\9@AH(XX1S
M<RNN,^.70W8I*$ZCD:DH[1K]%P:@W"[@JU 3IDN 1!A3DIGG7.E/ =1+=+;H
M-YU$B+8P@05'6QB/F?!/"<E?'SI0@B8XAB*'O+Y!S""R_UBO)->BEAJ\91D"
M-. /ZH41$'A/LJ<F -@<+F%J80!.4<0:O"E,L21QAR$N8;\4'8XR' L^ROK;
MOVGX2\3WE%*7D5^?XL%3@SU&@$3G%Q;XO?OA<.YH7E. -H#?<WZ=\"1>W\]
M Y+]FW=L8_>!MU7XGP1XY(\Y *A@#/K$1S(*_P]:KVWNYA6\C_#I\+X;JBGB
M/OOJX9BHK$*>;\!G2E :=T3;_9Y 2/M[8@)>3;B03/\L#$M!ZOW;!!J/=HIG
MSPQXX;UX-Y2?0!?>L?>W]N+^0J]GL'_ 7H=+V__WDT99FHKY$CV^$/>95^V'
MF"]7XDOJ'H^!['*,>3NJ]+%]Y?)V-G9$A2\)N+P%VI=?]/].CE[A^I(^,331
M6R^1P?\Y_>___L_D>/70HD$D^7]_06?M#]4Q?9_Y E(<F(<HO@S,/R?.H>=P
M3)#HB7[D(X\WH0B7$_L('4I]5BV@$^U3:^=*GT,W(I,JX;\BSVLH91=+8%5>
M=WAS@P6.[=DTX9L>-7W2BHZ8&/SW.1;FFZ$1R];_X\ SVRMRS)(VD]W&JL/,
M:;FH%C1S.*K)QW%GVN):$NHNN(LT-RA $,,FF5=KW#!97V8IBVH<19H3'PLU
MOU4(F-R'E0V2:=*CUL-*53*)C6C6TO7>VD4QQ;_^S>5..Q]&>:-_2V1WA9)>
MK$YP3-1I 77450P_QK=S1<[3+/?2>_J-P-8U&;ZS7,X%5-\:E3Y]\GL>C-HI
MJ=4%EJ.A*T9+IC%O0R4UVYZJHHM!=HH: FBR8RFXFQ)Y!MV_EQTS#[2JNUP*
M 5HV<W8\B]BN7 0'$+= 1,,V@#<O!&^QH18!0RWZ5(FDE7<: 7MO=N^- >H.
M$OX44"=B-F/V^DV'&3RJH_KVP<(K.9=+(T EB5=KFV_11 R.<WE!,)TS-7>,
M+<'8$HPMP3^P!'U=;#TUR0,6LT857B $I[BQW1GR'#O&>59,IK=]P4U-9"Z#
M<(IX+3OJ6QA^N_:TOELK;# 3S"'J.^@?_3S=[&.+[P,6W[6#VE\)AA%<_H_
M3Z]#V!MN=+CU%Z!%(0"+OLGKEN;-^;3$ZPEA>XO!MJR1Q9(Z;]*=86;U4'D8
MTEP6(>QI$XY;-@.?SCB.<_=B<_",H'GMY/.O.MVX]CHC<-;Q!'X;@]8S"FEU
M\#EA];@Z)5B/L\Z7''5,%Q1)RKHCL8.24NE(N4Q[WI0Y"L$7]79H<)=Y?AZF
M^+^B!_U6;,@<X7S)N\=/UQ$IM4]D\S[/M$>_"W[1 N_3*0K)RY'-MJ\#RP(@
MJ.W0Y;JW&9]FU"L](&>Y=:F&#]S1,,N,3%,D.[XN04H#D;9?&<>A8<2%\N]/
M\AR> 2>!AV\MHF(M-'[S6]$U10>)"5KO23E% )546&[%&70KD/Z05(WTO9^;
MX0G"GCV8SY\SY>3C'Q;KYP3M/]4F8%/>PE:\J1B.A6E>D)^73>#Y=Y87[T?E
M"88D*>A*4%2F ">T@K] ;-44N'=M,#^]Q?\C>IH(X*]SR!P1LZ>\[=4OF(JE
M^B/V)0]>$B<:8Z 1\+W>VT5TZ?8";8GH=2;\)K!Y[UF3C?<D#4J^85KW&"T(
M< ^$U-4V=\$3T'@>?NSHZ,%H\G ZQIX+W@O@-^O/E^DJ]A3C,31M5+J!7H&F
MKF.&#OR3#O1D&YJ\Z+GPF=;4,.V$-]Y_J%_ <?)Z"RQX5$NK;8)ON3KFU6F
MH(!D C3#O;]:L<:KFO9,Y/[ZMV%8=E#:LF/7(15];NG ]586,'[NV ZO(<!!
MA3*[PAA(%8_!/N\].$+[XSW6?_G17BD,I#B4'%Z7$3\EZ'-@.] ]G'G" D)"
M62=\@/[]X/W#&5JFE%\)G3G>DG!2;C2&?;72"5WU93 B^.BO?[UJGOUN<3K_
M$\HC0NT&OKRS/+>*+-/FNJA;(KU6+.^W!K]6YLZ\ >838')YNE^M]3L9GE5*
MJ_Z6X@J%AMLYLI,0)7^+CHGRKR$#W[,-]2&/6E(A8*F_%35YT^2$D64]E,A-
MG^%3]3R1I M:.^>^)71  RN@>UIH[4GVS'AXG790->^0ULV1^ I(6^\0R*P4
MT1<J+V$#[7%:<!WRF_)U\HXOKI<.8:RB'S!VUF.7'9<B>+6UD#>66Y!3:_K(
M'$Z]/Q00](W@9="2NN@'C7FBU4E-J<?I15I1)P,S6\3+'1%TL\U&<2/2J$5^
M]K1'_G\^K $19\61CH&&6=18D*^SF4158P8T[3X^TH>L("_*"K%93#8F(MBJ
MY&#$<1W.F V!#%GQIXRX?]6*/RA9."C,$""@F\BSG3[S&)('QMK9*C.>V4?'
MV;=D:N>8[S<]=-IX7&[Q?XZJ2O9Q2%1N:)B_=Q[VP:J":A;2<[9E:)5Z12N\
M!%_\F]=<?F/MHE#4/;F/4OS>>^F(#ECZGJ+^@SW]B*AQ0DI4R7A L*-*1?];
MQ[6*P6=O5,X$7+&-Q6^2N/=L!/CKKD8G=9^Z$)M>L41X#&Z24/_^J]\JA.X1
M;^ZR7I4QLCC07H3,B+WD\O]>QA0_2?1^*[.[TFRVBG2?QBK- K1HFT6LQ^9[
ME6*%[E:8WC[-^_H3;;;Z3 _KM[!"JUEDFCVFB'[JM>H5.'WX2ZG2I)N%"EW'
M>GWX08-I]K]R^K[TD.]+I__%ZKPC*M!&__LID?YMR/)4+$'@]T^"&^C8TX?'
MNGFB=/X?(4H+O] ([/]BI/?-OY^IXY%6$P<AO."%_D<O/'ZGH;RW"7!I*CDA
M)B3!Y7"0XE)\5N+XG)3C4O!'BLH1Z4DR_9>O$_PNIH6O:H-2!=!E9D,,FH95
MT"9%JH/VO^<C"[W>;&,Q#*D6"K+>R($L2>HT1YZ.K+$XD]0'+JMN!HUQE[=[
M2T&1N>3IR&+=7G-T):_B3BE7GCB334YNT'#DR3PG;6=*\$NWP<QK<G8ZF->$
M8@-EY>$GSQROF@(WQ[/X9BSES3[=7<U*:.3)VXF'+"^+U>485U;<<E3?SAFE
MW($C3]ZN3KFD-,T[#7RS%=>U2:LTWLQD+GWZ]F4MY93G*?T13PASBFANE?IT
M['*9TY%PHVG2K:(T9I;D=-8EW-+T@4 C3^8Y<LK)=*IC-U2R3VF)1GW;32=H
M./)XGEP:$!(@TR)'4A.>2^%XDIL /LLELV26RE(IBN?!\V<;Y"A1L#+S#5X;
MZ).'!:NYTY4,^7\R7VTC]N=Z3ULQ(/DXJ.'S5E8OADI*IY%GG/6#,5%;"<<E
M'[5BIUQ DG+RS+91R=*]5"[/#LJ/2G6U6/4[63E,IA1>34U;0J6%+WOM^5(
MRJ,^[$!).7FF J;R1EXG3!;4'%-15LQ\M.Z$20K=:$TKHW368@L-.2^O*TO7
M3';"N)HOS$M.KU03\9Y&I3FM RS.D<.X6EJPRJ"7ZJSQ0B%#STN*7F\/92Y[
M.G*0RM;9&3\KJ)OD>($/EJPI\QV."AO)Y5?SEMUCEMK0A(SG&3[C<KG3D3W;
MML3,NKO :XO.@"DL04N=NAR!GPZ=T<EY([LHFNQR5N'=^E;22[*,AI[0OI\J
MKLIJ/4&I3I/NR+5*:I+LNZC^X.2I^&((\2O11SD4G41G*%&)-I#1T).G)MED
M=R[W!P)+XKC IE9<J<?0Z$[DDZ?R+;O3;MJZB"^IC96G"D5R,)?1M84G0^VL
MR^)K(#KJP'6SLK(H)'*T'%P5>J@L@"(%'DPF')[-"%P*""F. CC4J924H\1<
M#D"T?/YP[J'0E0;Z>H*#\7));+:M1PLJ8HBRE :%=>^QY":9S6)AS%.;L=N"
ML!I"L=J4$XIM/37"G>YR4;,F:<UX0,JR>_NS:/GK\=X@CGNQH+3GFSSU?SD.
M!P2I-=W]<4I%A_+/ZX+":] ;L_T(SPL=8432VM@U:5QF>'E:;*R7*U>1.U'J
M"',0QL,L9P[_#I]G>5$M?HXB@2C0N>_Y$L3^(.5%1!31BXNA% 8OL"CMZ *7
MLR/,89CT>21SWQW&KS:Q=NUHX.BX&\RM=H/)9.]3<=>1"':W(&.^1)(OQ#V9
MB?D20;Z\<6]%S)>K=;6*V1(]ML0P%E&^Q/IR2;Y\,(OW3>OX!R2ZOF6(7I<$
M)P'W#])DWP H_:<-@%#;XB_HIG_&!C^EP(_O>UU>&X;7Y97QNKQ^JM5/K"VQ
MMKQ36R)46O-9;?***_QJI"1Q%]9G+'IJ=!A6\N),V7MR1Y4@LI;P/XI<N\6O
M(,U-M%M,WF<SWTJ1_-JDR7G$Y ONL(REY$I2DCH'O%ZA]/GSB-OU<D?](R[O
M.$8SX//\1/)GIS5G ]NX6CHL<A*QROFSE/J]=.'>MZ[M>^,H.D@]Y]I^F<BF
MK?&Z3>LBLW24!3HRS6_ZFX6?CHL.IKDZU$@O)_WH6#I(S\U)*RJ9ME8BKC2:
MUJ(\Q+L9]3,]$D,/OT/*!BN;57F:+#^T<% H<DU]HI8'"]IO*)8D7JM[_MP>
M'(-'#!X_"#R>7;YU7O"8F4NA(2FXR!1*8QVL77V:9KX"/#8;O)P?K&H4V\J4
MNRJE59CR%H%'YBWP^*Z>[XD==E*A=Q.^[JW Y8]H0Q-RF6'<<N93IE@/*>6+
M<+K1B'FNUYDGF#G?7TS[>A>W!O07P*F^,NB&/-]2*C]S25G1VFVC1ON]"%/D
MQ4RQ&$BNKETQD-RF6?8ZD'0&C_FTW)*7K#*E>X55JEGA<Y]I)?A>(,F00T-9
MN-P0'ZP'HX?YUIVDNZAV -IEJ==N4?\1$3/_HO&^8?-:4'/M$S(.C'VU;WOU
MYE%7<WZOOO)(P?"E6["^%S>[,^)1+E<RO%H6S:Y@K)U6A:+])JO)]&L]M.)@
M6 P8,6!<RVY[^R[["P'&P.0>Z5:A3..%K-AI:W-B*C50Z24*@&6(KVNZ%YWK
MW9^WXKA" [JZPOL3;?"V8\)_7ZCJ6]721L_./\Q8,"M5%ZN:,R?7MW'/N]?2
M*E@=:B(D*7Z+B;#;WI\= &-:0![4^&KBM3HS]*/V5ZA1%L0>Q=JU$%OPFZ,&
M9:B24!?@,_RBSWTKKEVE8=!.RP1S7M'1BW5@[^:.K7C-V<_UI;FA#M\+Z%N]
M6:LX"7K96E, WX':K$F1N9'^BS3NVY8@4LG[;)SS'L%:A+@$,9I\B6MW(LJ7
MN'8G0K4[P;9R[4#XYP^;7TV'' '>/%O2;)Q;_5VS9FG/9/_<1=Z!/MW6*8 _
MD;-=>Q''_>.<MF^>TW;QRRY>C>6T@QA$UPLJ0/AM224%!>301A=VG<^#,B)F
M]"BM9M99L3U<SQ[L<M"Z*I<]XR'HFUYJA+ N<Q/6P(T VS=*"HEQZ^*X571
M$\ZH[P)M!?S2ZA#4RA5[VCC-CFB\O! ;Z\6Z[K8?42=)=,WC73+YYI'"CS';
MLK'9]I/,MG-GP<6VVW4P$%EK?=<(*R8P^KA5EYNN6F#FTS)+E))=W?4KD2#T
MD3_49*-BDRTVV6*3[9IPA;KAA "6U9Q+6=)M#MA!R6DY77&8Z+2#=/U<^OQP
M=:N66BZVU&)++;;4;A'Z2H83%ELKY0TG)6P'JEI><A;?4:;65I+]/-E,[O1&
MIY]@J"5Q[^Y%>PI,X%VX%-MM<7U67)\5$?#SKH9X%?GZ1AZT>47L[Q4X!/A
M@9XN2)M@54>8U4=Z>]N61QTNZ_FH%SA4N$F3SZ^L\O,Y=YFCL0D8FX"Q"7AM
M%/RH"1B"@*M'CC(IP+$LF#:(Q+(\K,S2+D<A!$S?I3)G;/IQ,\8?(N=OK((2
M<8!EQW9?;/=],[OO9.W8KV\%>>Q!L0NS%N!0/RTN+.@W5*M,99,15;Z97L^W
MM7ZG/J>YG']*@1/4"?[]_2.-P&98Q<])_5%L%L85M'$%[;>P*5^ UA (?5QF
MS%Z7J<W47EXQ 4,XJ6JY@R[W1'V.[E*IUPKMHV=#1AX+8FLR/OW]1&7KV];@
MN=C[@\RC@F-ZK8=0C3,$N-@.^DGAL;@$X=:LF$!=0XR9=6E*U6;6IL\N#251
M*N7$$3GU[A1'62#XCPR'[:\>.#>ZQ5!V]3!1'!'[WDC7-'3A1;##!VV[+PP?
M&BI(%O'M0BJM>J;+$5YY0O(N_6J3VA]AW1WTEHQMNCBV%<>VOC-6AB#D#"PF
M1:*6Z.(%L&DV"SR-USL0(5/OCFWM>L(][Z/VG3I67:@GG)?DTQ.F0'0TT)(&
M7J,#(-)0RW@9='?=R#PFHJ;-%JV+Q>#@I\O;P'JA3QQ)=F8Z-YXVF,(Z-:QN
MK&JIV72CU"?.#9:*\?Y:#UJO^6<NR!RWO 3%W4D79J(5>W=4\)KVSMYQ5GB'
M-1>8 /W%;U=G?6&+M5-RQ#W6/MIC+9W\F;V)7A&6#Y@R9VRJEB1B1D2 $=#*
M(E^]MSOFQ)?UL\O%V'1&1GS<!4=[PPVXX/#-.VLOL3.!G@R? VOH+$XYPNFK
M'BG\\UK3LW-XF0C_KA!V>-.+? I"O.Q"O-<;//#_$A80?HN.B5#! OKK[M^;
M;@6Q]P:U3+=+CMI$09T_*F)NONS8Y7$'>3:OVZG05:2PN8%ZA.SU^9D[>(XP
M2N[KE?O=*'?YL^/7S=[HX-B1PW8V_+H"6)T/FJX>S?IP*&OAF(#+U%?)@K#I
M%M4,XPQ;92-?F67=S\:R4I\(93W#LL-@2!N8PN$I0(+<PUJZ2594,9N%<TJ6
MA9ID<E*[U>%(!&NY^V3N$O>DO&4*7D!J_W/1VQHT10>)G=5Z3V;/;OP]WS#@
M[TC0%-WA?:9<<QT?@'?>$SLN3> B,<%YCB)R.)<B)RENPF<F'#')$8)$IE-B
M-@??]S_\[AM04+?D6--!IC=D-L/-G-/H$2/UZ&#_/1J9L%NY@456!97/;JF9
M,\K-LPX:F7X^<D3UY)Y-R%.VMK'Y.DD7+<.5?>$_'LDF'*NY+54=?%"MTG1V
M/&X^"FCDR3,E=4".<@U<PN<%/=\L/VH;,>-"%,"?CR33-KE]6- 5O. 2VX>"
MWMIDFVCDR=O'9:K5**?7"W;3:R\>JYNF+B1E./+D[9667& G(E-@EZ29FSYH
MV7ZGWN%2IV^7)98D>XN1S2PKW;5 YZEVD4=UWR<CMPNBI(BIQI:MM;J,W!PO
MB(1*<]G3D8,'=@J<L9ICR(1;A9M=92H59#CR9$7;%>GF*FS*Q@?R=EHNV@L.
MK[APY&Y%EPPK[R]@GD"X\IYE(;34# LB^VG(F"&=S=141W4UL;+)@CJ@MHX1
M0#W40(BX]BOC.#2,N%" V?OUL GPLU,K @\_ZH.L66C\YK>B>RH_0>L].3P(
MP)KROSXYWX2]!T'VPHU..UW"7_]F[OT>QAYN/&6@&$_LNOC)P^LB$GZT,.0Y
M/$7UIRUU,-L2\W1F."I6.Z=R$C[NHG+R\8,(O^XWC/;AQP;H.*((!.^RS-VG
M*>]Z%\5"AQG!F<33)3CQ32XW>LJ03M]G4W$D+P(AU>1],HYM1X$1Y#V>BQD1
M 480F?MLK!)1X$2,31%A1(Q-$6$$PJ:8$5<[ 'W3;(WP@<C%4/@"D=;(7.]$
MW5-?<#;RVO5-;U'#<Z%] D"/^05*Q(S_...SK^YXUV?\+E#R*N]C?+M5,;\<
MFD6HC.K#0N]?S_:-T>UR6';C;$^= ]BNG:35!KKE79#^% GWV9[ >$$P'72U
M>C!D?_'YV43]NV3V?-*+O;8,G*7NRP]11;':_W:+NMJ&98/Y0C.\=I=YH -)
ML:WG)?^T+KY:$CN;EQ<@"69M!HCY4CG19)ILVO4O[*+NR%=[ L<*'BOX89SG
M!^HWZI/A*7B*:U" ((9-,J_6N&&ROLQ2%M60KZ[@#X5!N^-NI(5:L,VVT\DX
M&95$-_)E_OHW>Y=+G?&V@R]PQTZDMZ$(IF$9D@TM$&BGH1*__[6<Q:E:9^_3
MBV?97BCT9QL+[TG/U@4_A@__1?P-M=U9W(;]'EF BTS+C[.F\@8V373<E.]B
MX'C)2'N]K@=J?9"5%(9R\W%75-0DQSK KG82P*P5F>#RO23Y6A>C6*%CA3ZT
M87ZX/E_"H/DCA>:WS@/^..ZR&U.=-\DIJ"8UE-0+S9;4.?OT7"?4$CW5CGVR
MZ_EDT2-#'+$YMT'C91>'I%B'8%]'T<3FM# OJ04SE4VR='H\&@87<U)W&?RU
M2]1C_8_U/P[H1-#^^8#^\VQ[/B<J;I&=;Y:U3MZPV4RJ _4_@_0_29WQGK9K
MA&S\ZX:>=9#VKM=XL>PE]M1B3RT.O7R1I1)H9MM7S);T/M#:\%+ZP:AUIXRS
M*9/RJ%/O2E/7OU.7N$OCK\698\V.-3N.P5S>!ODSS4YL4LE'BEQL\<0$V.)P
M7,<EHP,U.X,T.Y-*WGHPYD2>_4K0IJ$GOMQ*^?&>QXL.V-5[!']A6LS5UWIM
M"+R4;?-T5/Y!$)S.6%499A5>33RPCZ/!8YV;I&G_YNSL'9Y[K2]R# DQ)'PV
M[G+UI5X;$2YF%/TQ)"S7*3*E#MI=1BDU')S)Y?JI5@=" K2+,G?9U)MWYT2A
M(=,'E/@:;3G\CB[D04>7L^?V^,Y+10^Z>T )2]X=]A+'H&@ %_4FQU9 %U&_
M<=D$ .5D8;:!\<+244R "? EO*)C2/<0LZ$!B4X[7=X$^]2D._@L 2@KU-93
MF.IH3AB< C(NO68BDF,[</C^>\Y"-GD1DA<JT<G#X!PA1,A3K 0FIL.;&S3U
MS#W6=DS+X?W)V5/%>IKN\;+@7Y"6(=ET>$W;>"G<$%#@UQ;\!N,7"]-80VVQ
M ?S;?U]_ET^_7Z5#CIC]"Y';_ :MD=9U;\E[I<[X2MWD39,KZ4K>9HHU!D^4
M5[.&TV_R3H_^ZU_\_E2A,:@#&B(''SP10[6J'IE]#\'O +/GP/V+K<V.?C\H
M^SRH9A4TP)MH!YD^:]&21$)^[G+69[IZ7 -!IIX0/]!,(O6\9/7_')7B[K<T
MU!'&,'_O]JV#506Z2WI;F P2?J4O+\$7_^8UE]]8NYXNU#V9VL4)?N_W/D0'
M+'U/4?_!GGY$U#@A)6HV<T"PHV8R_K>.V\D$G[U1;AQP!<$.2=Q[0 9_W2%2
MZCYU(3:]T@"+QZ8FTK?_ZK<*H9L ^CFL+57P$?2%/5" @EPPO.8\3QU=^0MM
M"Q\NMZDTFZTBW:>Q2K-PC]'-(M9C\[U*L4)W*TQO7XAS_8DV6WVFA_5;6*'5
M+#+-'E-$/_5:]0J</ORE5&G2S4*%KF.]/OR@P33[7SG]D\WVM;7\8G7>@5L=
M$/]^*G5Z&[(\%4L0^/V3X 8Z]O3AL6Z>*)W_1PC<PB\T ON_<.-#W_S[F3H>
M:?51.ULSL!$6]HN/WVGHLZZ3K_?'"_J9O?BM5[N@_1O2XO+TDPLU@-OEG$/C
M8*[8:*M"E\L4O%?+0!<4\&J[P)Y4SLZ;9K.D\LED$CQ(<Y*0Z;@!X <: &8/
M&P >L,$S#(\8<;7;:4ZH.WG!H0A97AUJF6^*[4KA*9(@_L&\1;_:2AQ:YB2.
M4W?0_IXYHNS9W2YO(;,<[O[0+O>:Z@&L/84NS&(!68M,7FB*6]"H/O@46MH3
M2Q$59"D?WQ8$?^9M9 _KAA?=A18<LN^@F8YHOW!,9* #$5IWT!(U]@^OZ-#6
MY&U^YT (]W=H+A*_@CX"?,/.(T!6*WRD7\H!@+5[>^C4[C%T']+"0%NM MT#
M:(I[*^8]^Q6^&YJ2LG?S$?(]CFSTW<;\*C5OQI#?(=*3X'0!%.(5"#7:&X0S
M54N]15=5EF7BT9Y,BLK6_>O?]'U8LL0[Z+2S[._V9+UDZ\T*VHF!Y36N+D+0
M-)4%>N#3V@^6^KB6V91K&B9#4E*;<]F>R(GNZQ[^7_\N-,?"-"@Z&I11_V6^
MV.\*>7FT]?\'6R#AA\[,')-,8X[1C@QQP9=P(GGG:2*2O*H#I3:)HP_0QTA/
MH$A#>QT9ZT_/U,5])U!?8+T_H'=E#E[UTAT!KR[H+46Q,+!>P&5:/D*P][U[
M3$0M*$T+6_$FQ%',5>SI<TU< *CA<*8'X^&#A"FOHUO)('ONH=YCQ\TL( VR
M")Z0?[- VIW+/O7^_(#NPWF*BL"CUJ$>:^# #08U'-HHZ",#10^@R^,]8 ^%
MO.4[^F!N 6T%WP 7BS: *C ML/%F6^5U%!_83Y;R< K29@$=8\_AAW0.X$"!
M**!X4YAL0A$.O1Q!!1P!P0(!$30,;,@O&\*I8]K>C6QHT/YCN.2G"6&_$/*3
M^#\08 K>C\0_?V.>)>J%6"#+- 6Z33XY9H[N3\NC!]!G!D1>]'0KA+2>P"Y0
M] /U6H6SL !0T8^(;+*N^ =X\!LZ_*K@!W "=CQ1\T5LWVTSQVL7'1.] ?UA
M@?8C7=AO+@%!D0Y @50T3(+4@3J">5[K;A0B@\\DJ%&''-K]\8 VJ+.L-VGO
M ;P(R81H[)FM$/^1=;:;3/!R*%LS(-B^[-B.J3^;G"\YN]U.A 81L#%G8?A+
M=4W%ANH%O[IT$%[ [X;0)6#W<W;</:F7MPSX_N .FQFDF04%W>?'+EX"]P,/
M.GPD>4D.GF["01NKHVF8QTOO:T"2X%KOHQ&R?+*2(&\/(W2I.ZS(KQ01*P:7
M%-*R 9\)30])T7P5<&R/I9"AO&7M6 4-:?0O"/GBZG[/%\Q74LA%7O/-D<_J
MZTXC#NTE#]<#ZP:.5J"5&H30_3"F+PJ&)"EPE(7]0M\-U+X'X$BHBG >!6]Y
MM. ;A3X2>*K0$FP#M53VJ15( \)(3WA$",3!NEYX&+*+#+3+(6I"#Q3:<!J<
M*F2<Y,W/,YM6P!>TX[_O+XX4I@:<O&?&P?T$0JN_W[ST1@%2QGO&'0)DN+%#
MT1#1SU"B$'7@W^86Q &DN/ 9?E-I O\U^=N;$8G_XO_>Z>;!.YC=SD/[?"%R
MR=2S-\!O=QT-P(=-$FFT6\P=30[V$(@;WBO]80H2"F@"(-V$NR3"2 ^/["DD
MK'6WWW.@K2;!I_/(^9CS(E1M:+?Y*C97+$0OQ @+"9/OH2"+U!1WT//\"D[>
MA(15!"6P/*!5A?P8L-\(Z,I^&_"BXH9FR+Z((7,/,L$*MOH]#Q&N(V):"V@R
M2@I<JLC/>6]=DH<\.POG+K! +#MXQC[VC4)9HK=S^HM%,@PT"5LIL@%W<4O;
MW&$3YUCJ!6BL&#:2101>WI\,QX:<!\\AW_8#[S9$%7\&<'^5D49#984B <U%
M1( ]O7TI@<L(Q,2%IB>&7C7ED0^"H!'B$J0?+ZZ04@9(ATX%D.I)$"5UC[Z[
M8 ;"9+A^1[,]@R.X!!6*W'UD4+$'K1ZTK>@V(K5R</J2>G[ZXIV8^*KL;1'>
M/H^&0!&$TK#3&J9PM]NIGHFB!Q_(==B#%MSIG"?O&@'G/V@.OK7KMW%_80ZR
MB;X!M[ -VEP7!M#YIPEY1F,1+*#([ZR+*B+-@;076]6]N+\P6W0 8QJB(X3,
M]Q]?DW4($@O;;SS_VFQ/IPC)=/C>W0L4W7?)H) <:\H$;L-@Y9TV!=**GN!U
MOF]5=T]"2H[N[-5\W/&-"FBMP#7L,$=\ [,#B$)G4D]W]NXL" LA_@I-.3C-
M>:;-" SV9U>!>KI3H ??]4V+0*\F:**6H2$"035QT;)VEAD?3$5!^\3F;K]<
M. ZM=LY#YO"JM_W U>D^CONS5.SHZ-8SVGA!BP-+$'D_$.("]/=]0BAP @ (
MPWV5")#(8[J/0M!F _J.B0:">V30P,T1 1(4](ECH= +9,T ^C;@2"*/A4A!
MCX2O$:'P0('! N6T DL$.CL8M&2M@^'[[R,Q@U.=>,S>(:O'4=XRD AL,"0E
M"#!%GWT0 [U?#_'PU24'*#\!.TF"<N)Q.% 5>Q,=1ON4AN^!FY\'.($5IH7I
M[9X2QYN6!8XH\8&])VRS1RX*RM7U@"!\8T(6/[JQVS:]+=C7I:<OA>Y;=YBV
M#X4@D3Z09D5'9@Y<.W01 @XIR&1 &XS-^[$!Y #"MX8;LX%(\Q,X)&%":\!$
MYHEXZ*+O3'##T<07":/ QYT0YB[P_[R@H">UIJ-YA/:V:&]:BN^T>WKEJ>0A
M/S[RSB,Z/J'HCJ+!.^#GBN'!L3M5!-]#\R=U,"?HQ0I0F"S/'M^E--R%LGRG
M<+N-^"DD$TJ1/Q&5MP5D[\5X;,0.V'BJ[#Y) \,Z((J?>7&/74VUCV%[3R1_
M]E[8#,+XX1;[*H@AG)SP*&KT O%%@/(3(-%W6<UPNPR"$Y[V\QX$(U7;P>WQ
MEFN"E0)<"V$)TC+/^']A+AYXPH4#$^7$!-Z4%W1"&+][@9=^Y+OQ@3SY4&U8
MP6:_IP%:&R\BDB*C0L+@-@P?XX7.3W>>4T/_V"0XM/=W2A7@X]/V\S0C7W3@
M;@/U)FH),OC'PNJ0L$^G2AO:IRYM%WC3W, /'WG->0JUXP?QYU&77^*:V&89
M<IU4['[^H;'2Z+_^3:7Q.QS'3W-D=@"[.[J >],&VH9!-!/9J5[(=F=$[G=R
MB 26XDE>!7KAB@E-8"1K N*#I[S'C@*RSCQ3P,O'.HR7^M+BV_L>3WTV3L 3
MH**-Q/-D_:.>E\ )V;3*/JSWBHOU/)3]=6FYU >R<F\RSR@=YQG%>49QGE&<
M9_2M\HR"6V(!)68$BI(X"<]DN11.\1R/$Q0GX@*>SDJ97";C90H=WBM:32Q[
MZVI;R^,M)T-.9;%DK' W[);8;K&<;:S23DHMM]:9ZL-DO*YHG;"[7X=\4DK0
M;'?)+ML2;N<8?DBH<M@]K4:G0E#KVD.1(1^M:I'D*'5:H\/N:2VWTYV'E%B:
ML"T@4=M&)6?-)#GLGM;*.MUG5:&15IU*G6D4Y*QC-E$WMY.W+[G-:DXLU06;
M6=/\L+PIK>T<:A-U\O8Y7;92CY8S8VI&T5TM\U3A041-54[>C@OI1Z5?J)IL
M3UNT,F#&$R62#KLEMM( 9:95X>KJ9J&S5")149,%-/)DG@6;J [-)555,W*U
MG:_@$YP?H.KHXWERJ4D&3))DAI.268E+"4F>HT1RPA$I(2-1:7$R(;,G7%WG
M6S.R;Y<89[ALE#8I:;"9(?Z?C%PGV]2\G#191MD\&J!C5$N;0>C=OW2K0>:4
M7K7$EG5V,*1$E2:Z2%)2ST=J>-$DM0&C,AF5: MUM5%?CM S3]Y.D?/:F"9R
M+E.>+<I"?SP7>@ ]\^3>8S>A&).6Z33P0J.X2IE*Q6!$.DSZU*E=G%(C:XWW
M<O/>PV92*"9*J'WQR3S+1+;2;^C" M\L%@.[U4P7Z3(:>3)/14A.9T0OTU;+
M&[J<'N6R@T=/]D_FF:FD]-F2WC@,F=X*Q2XH5>44'2;1Z]6TO$H0,Q-71IU4
M;;JM25D3R?[I/#-L<KE>]TV6YVR[V1$GR=P4C3QY>X6=BWAMP@_8LF*GAM1@
M3"9ZG3")7A3HP8)L]$M,@DL4,G-;FG:3+AQY0D^\K8/L6%B+:BLEV,-274X+
M-M*2$WT:3,83BF/*/9QOJ^-THJ.ZRPYZ^PD].9+.S-I:EE,S8%69JBX]P3-H
M)'$R47?+UJ;C%BNQM<$B5P%DWA*)3ICJ+5*#\E*OI"&8+![UX5QREX2(%.KD
M]>3 J3XV,LL4WJ-Q\4%8-QL:CBY]/GU]SRP;C2G@5NPR9=I5_7&B#R4Y[-;G
MT7HEC%IR)JWV>(-</VI2YH%PPVY]SDM] +62*N& ;A%=N91=E@;TP:W/^Y'9
M3?]Q7"EV,SC?STCY;KG+T YZYLF2LMWB\F%2>GA@,N-.7QZLI]3:0B-/E_2@
MK,$HR55XO)9T%6F1S"Q*C0Y'G2ZIN]WDDYPQ7.-\_7$S2W;Y;;]*PY$G(@J&
MZPJG,D8;+SP^Y#/R[('41FCDB8@Z7+92IRKC(4NV$OV:0E?)_K #IWGZ^F*N
M*TV31#7#;MS12-GFQ&UWZ**A)^^?LXL4E^\L.96DYN-^M53+U^%,X="3"5 /
M98ZRZ"RI#D2P2BZ;J98$]P>"#%E_,[L6ZC8]4Q6\WB]5ECA9*GM#3PG -'-B
M@VI/F,*\V:^O\&4.W\AHZ/$$N$F&2HI2CN32</?F4I20Y"B*S'%) 0@BNOD]
M,SF9QZPB;$J4ME@P [TY<XEZ94KJ<AB<&[A:E38#R(L>S:;GI4>ITB^%;N?J
MMEE_R+/3A3IPLI-2?\*8Y(,<!N=J-_'0J,TY@W'JUC)#3Q.T"HV)$#BGM2Z>
MHG*2P[:Z)5%--GEN,*;#X%P2++!83<R5NLS+=();;9C>.O32][[>>YAK3'VK
M.GA5ITMF@A-$.0S.<_F'L6T-Y[:J#!\=T:I29&8MA\$Y:.G;9D%>SO&R/E+T
M7-+<)CN=,#CO51^6NLU9-=;!:Z-6GRX,Z\5P X5E2\/J(KU46YK>28[[$O0
MZ# X9WM99C@308YQ^K/\"G 3SN+<,#CO3.7)4FHK(IL8=O&6_IB8%>>A<"ZW
M*H6V)EEE9KE6I++T.&;%-!T*Y]7!K/.P'M9PD$S+]);0&+<5"N<-5IM.)= T
M\<$Z4>E:=#HY-N0P.+>%TF*BCW,:4VXW\@4BP:FKB1L*YU-3F_?+*HFKY6Z*
M+X,>4,M,J"75K=9D<:M-EGBB5$H/TP[UL,QT0BVI]<H=Y%=4%F\)DJYG]::U
M%N032\JS#7A226MK$7=X?<0]I$?+I42';1%BIB19>0'/X E@;=5^=2*LAW3H
M%L&QC@R,HEUG,P5^1DG#2F\FAVX1C9S133AYCE1[MMS(;^9EIH^'PCFU3LM<
M+3<U\5[?30ETC3/KN!P*YZ3%39M+/5O!!U:M2#B"E,PG0^%\Z-;8=I846CC9
M%1/%/B\9XTPG#,[GE11+6:O2'.]M>7U5L19;4G/#X+RM-JNYEN6,U81+<DPB
MD:/<(1T*YP.MSI8TEX?2W%A6AZ7UHFNUPN&<GYMN;KCB'YA6FC5Z94O4VDHX
MG+L-A](2:VG&9.;YL90H+C43/34$SGM4P:7:CZD'?-,;-E3'90I*(1S.N^/Q
MP'8V2H(A"]KD89#3[5Z&/H3S"U==/)56M"04S@2Z%60\>^'^ DI@Z4UY$^11
M3+_M9[I:IV48:D5KFDY=2.$;9X0G%O"9_7(06$8YN")MOS(NJ$.)BS;>7[1!
M'19M]&PX-ZRU\ ^DO,0LX*?4>;EWZ(_H+,"OW[BP1/6$*1 =[9D\(4$J&>:)
M*-&FB>+I?MF/!DG,^W7P3P.?/\7*;]H:KWM!NU,YG(Q("LQ=@F#*#5 #CEH9
M%KJ7*@?Z?*Z$A7B3\,_+A(.%H@QR5$?\/+/E*-G2RX /V(M(<IB>MSLEL+UO
M^R?G* W,RY[/>LGSF:/L2.]9Z"G['*%=/NSS=Y($QBP==&9VR)IWSX#W3BWH
MA:EH&$&@F9#DLYG -QS,),CQ-V3_F'"?V[N?\1VZ^DWS'Z\%N3/!LX*)HE'6
M?F$N0.=XOK"A>:(C7/B;:V&_O ,CP['@&ZV_?WOJXG5*V,?X_5X8Z'W\P@*_
M=S\<2@;B>A 11X$^P0\J'T4'><<VCD.#WB='X;S3:-X3WE!^Y,XV=_,ZN,+X
MK_=VO,ID[U-4?$7RLQ*//SO#^FR7F9@1D6 $<4]F8D9$@1'D?3IF1 08$?,A
M&GR(D2DJC(@UXJR,^&";UC>-UN_9A?"6U[R_ESO]I_=R)_%[_ MN(/],WDLI
M2 +N3TT L 8<,+4PQO.#/W4==RSO-[?FL\E[A)J1?U@?O)HZOU0[2=SMNK3'
MBA U1<"?KWG7(^?Y?\-%G/Q3$2>2]]G,;8LXBHD?B_2EO*R8S==E<^H<R'7M
MFP6*BNE5S^V+L[SB]+.!U(]O%>Y[Z-?F\EDZ@7MP]*-N8'OCY#,XV^30.5*3
MGP-ZK5@<:I_%^0=,WOE2PRN*YQ[J4CK7<BM=5AED9#J=&Z7K2?H/6H3O#U31
M 9]_MHO>P_@G@R%=P8=D[8$N5=4LR]/YBE[.)MNC=' 3=8I\[>JVSVU<L>K'
MJO]]5#]UJ/JI#ZG^!!^W:;T@.VIA(]*/6\=9K0I?HOKK]-+22GK95GL)JRLE
M5A/-+01W5E-OW@80*2_L1*Y[J'$/M%>\_DE'G<=V61+GLV)^)&Y]S_O<?"2+
MCN,16S1[6&NA1)Y K<M 1YT6:%VDCW3[9:RCZJ5L>6T5*NRFJ,R3A+PB:H+K
MWU%-WJ72K\%==#WT&!UB=(B-GL^CPZJ1SG%+J5A@-VYK[FS;G<1\2_LW6.?2
MISTB;CVLXU\8^5(>:1S>N;B/=_7KT;[.";SZ4J,#F%$RI\)SY4.PL=TSJ(1.
M6YR:X!_X4C;;6<SGP479Y!U%$7&(*(:/&#Y^F+WU;OA(:7.2I^2RQF245&XV
M<3A3<]S=;=QX\MVW3EZF1=4?W4+Y@9Y5%U"W_U6.9^35?"G0H%,$%/@ZJNJ"
M5#O7/-X+C[G%43%:,+%WDNN/R\S.L9>^5)(6+NL'858+]01>P;>\4%_6ZM&X
M9H\<72TTIP5JDW2= D^?UCF&C[MHG>,G;U1Z513WM59GE,*/SQE.A,8L9SX/
M+E(R%GY#O(!E09/[H]HPOQVDU[-O?V6&UT,Q:!EJHWR]Q!SEZP7M22W,+U_S
MNX(G_0JU=- KGTP%C8 !N@X#754"4%;OU]V+=0HAKU@VQSWT/F+L1+'H;9?7
M_+FJMV3V/I.+$[BCD$E_3\69]%%@!'6?CC4B"HR(-2(RC,!C1D2"$:G[3%P:
M'0E.Q-@4$490]YELS(DH<")6B:@P H\WB4@P K^/&7%&1GPP)>'-V,;W/%E[
M'84O$;9_K5XHK-;Q8JYYS-"K,?0,Q7'I^VSJ\MQ]J_CM%7Z?4",6@(N;[]>O
M>!QXOP$Q0:-+T&1PKI7?!EO/H->$=Y?.=]7KV"B)@JQ_:,W7P?'+&R^?1;JF
M@[((?" PI!CG(F>_G&LKPQ+8C]S,OJV-T@5S7M%1-@>ZM WEFSF\AMT,<[\4
MO6_"HOFL0-#[.SX_U:PCME8B V9AS6G.&%2)4/'7AX4]R%6\&;B[$/O/9L+<
MLBPP:V *B@6PMJD(W]N\N1@B! ;/+8M!'YAS[-<&\*;U]T\7@K,9/+<L$!5H
M%BNZI0B8=Z'Z.:RB*]2Z'F4'9^_)'5&"=.B$_]$155J.C2YK%[V>(396Y74'
MY8L'B=QGTXMK%_Z>K18^,(>^0\\?"Y5W6/"?X2J?<U99=LYR13,IR.U,]5E%
M%FUQ+0E=M/6\!LNWK2I0OM9 [!L5RW* :?FE)_Y_O8*4W7!FOM",#0 '-21!
M;<K+=2Q]U^@'M\STIXII ^"7H*"1P9=9VQ0'U5(SR9*<7BI:K7KG 7</J[PJ
MS=(9RKP.[E_*;TYO9W(A50-C\T"M_+#9OD(,WU>(*>UZ!^_0;I?IN48K8R<+
MXSDK^[<G)^^(3/J.R"4O461Z%96,HB.'1P"9SE)$ZB=^WC(J%965(@*O1#3
MI?6TL9Y,ZUJ+<0A"$/6I4Y!7[C?#)?):J+2+]0:!WIU?Y+E%(5@UH]+%=#^3
MG# ;H<9,:K,Z4;%<__[V)'0'O@U,7<YRV+E-7P^[[U?2#]2A>D79D=6\(EO1
MRUJ7I=1,PP*%<H%L#VOND;(E+"#\%AT3>8&ABC9Y6]$F'U:T?2C^(!*/O%%R
MKVJM55ZM+]S$ ]Y+D%RF_\!EQQW4G3#[^IX)(39SGR3W^^.SLO%8'T/S8*^]
MG+-L_UXBZ2WO_A]N$7'S&S]^K8U_'^GP ATA6_W#0)+G(L/-F65&DL&TO:D_
MJ,@M0;=<$T3R+I6F[I)DYGS-P;[@&.E/HB,[\<4RWBS*D-@0QV\S5'CF^$>$
M@"5Q$PR)JO=[FT+X9J%C+(77<6YBCD2'(V^4>7U+3'NCHNJ:0OAM#Y&>F4F[
M2-+Y#*5KNVCO5LDY%&P-1/B@"(GDK_.?#KVS15DT7+,!W>A.2-7JXX5RLLUD
M)X8I<?*GSHK0&[S5B$6O9U;;:XWE.6368;>TO6J$>%V#&=7)URC>9/FUZ33G
MS4'"R<I<!AT&$11U1X1T8_[[5E4L@CM'),Z"_@QI?NSISS?#G3.?!5EOQ(1V
M:&15=!^P/G@D1$RM*B]3'9W=U%VRLW(W53J/$,L[$LI>Y&*)&S,(HGDD=#5'
MZOOP[1I'!Q'<-&_@W.'3'EC$W:T2W$8 Y(_X/\QZH9AQ?#IJY0K?(TX50?")
MX]<_3@KC^/4/XD@<OXZ4$'[;^/5I$43CJ)E][/Z\NP;B&]Y9\^$BB:C&G_#1
M:"-:HON@%OHYFFS9#3[?ZT2]1D)MU'*U(I!(U:F8K79?X&4Q37,4"HN3=[EL
M]@Y/?:\:B=>/;ZZ_144B4!X737RZ:.)V<>I6:B96=D_/4B38, FAF+48CF?K
M=1EB5UPS$>T ^<5J)F[R@.H&2B8Z*N%P8G&DJYF'+6TV>M-1)=F!FO:>D@F"
M^&8E$Q'T:^-2B\C8#']8:A%5U'K;7(ANI46R+NC9)&ZMV#)!9\V'1[9(2 BV
M4*5%+GV72U%WV63NI@HMH@@^MQL$_9J.YI%W.>/3K5L2VB\XW8JE]M9/PZ*H
M<C\29K[@P.E"0GKQP[*O0YGO?+@6A,F\.Y+CP[5S':Y%.J<I/EN[]MG:@=*]
M>+:6L<K=33.7LIEEM;)9;-R55F5<Z'SZAVM4%GJ?./5MHM21W'TC@%SQ65I\
MEO;UJ/3!LS1.31(-;L T<,!1=ETHLL5V2D98Y1^FQ3!U09B*#^%^RB'<RPKZ
MTB$<L5?1WK!?=SH&*:@;)[D4!G9?7N8\<^(]IW!X)CZ%BT_AXE.X^!3NS#AV
M? I'A-@6W1Z32(SZU(9UBEM">]@,J^RX@X#+.X<C[[+IY!V53,?G<!&/K\;G
M<#?.P"@*;7P.%TMM? [WK1@6Q37'YW!10)GO? [W""QTMRNTXC%FO0 "^L4V
ML!7\.#Z7B\_EXG.YKXB ^TI(Z^).!?L&^N@]I7 DQ67QUK9>9UKUNN8L2Z0U
M1\=UY/>MA8O<)AT!0(N/Z^+CNLB U0=/\0:E_/_/WI<V*:IL:W^_O\+H>T_$
M[O<6M9G%/N?N"%2<9\7I"X&"B" H@VC]^C<3M$I+NX8NM; J/W2U8@*9N=9Z
M<DVY<C(DE@4*)].VMI#PF34K-B&$H2UQ*!H7/X'\Y&C<N^7O]2 =T7DH37.5
M35&8I^ND9972R8ZL00E$6^7BHF2@(%U,= P4I/MD]8+7-$?59$]]=2N=3.2E
MN<HN^X;:&(^;_9P]E_Q0LWC?7KJ_/1@SO":TI-Z.+&'?=D_8NAW&MFG*"U?]
MM?NPWP=8(G(:G7,]E]=8R*K6KEN1[TCV/7MW(926Z,J!?VG?X12U@5=V4H[_
M"P[.<W8=V[Z0B 9]IH"HHJ]./-\&SYR8=K";M=UW#,+0KY&CR@86@'GZ]\)V
M=4CN7XYJ BY=J<^>N77>A"_>-95'KFWZGOILH%=<=-ZQYH"Q//Z]J/<=$>)*
MA'@MY(P(@23BNQ'BY5@\(L2U"/%:8@&B!,*F;T:(US(U$"602'PW0KR<TX((
M<2U"O)*@@PCQ/D*@9.\X)/$]\_2.5<M3G6>S,#IX2Q Q]\@VE<> W/'?__P]
M.L<$7#UC_.0$(#;X9#:X?/[X3;#!U3/1XSD-WUX:KG[*RKMG8!=1Q[8A];/A
MP'<G_56.<XD] EP[5_Z2LW#C>O"1#'R1-> 6Y.#RVO%'X3!*PXX@T)[<S"IP
M7>*/;1->#/-2_W!&F/LD'6].V&D$"2QQ:SK!+4#!#>B$CVF5$1SL)5<B3K@4
M+H IN>Y1>._FBL?DM$,F0%H1$H /:44QVD_X;IG89G8B6+RLNG3++++;(Q2M
MI>%.(<0N%ZC6=\,L K>L1.SQ%]Q6X_Y$#')9->N6F>5Q:T#$,>$&@7-H9+=1
MU.'9R<4EV?)E9Y.(JCC0M[PM*^XX^]MZ$+>WO>G=]1X(<KO%B8K9%J=\O66H
MQ4F^+F9*[>+ Y@<M>13$_I#C#AMT:MD4C9.+Y) :\K-<A] D&A9V8.XH*G5'
ML.27V1I]"\*-2CW$"*<^4NKAAI'J5HXY)JB5N_#JK"9B&TPGEIUZ52I#] IK
M.I (N%"M]C^N#D'!ZA"QE>&:-5EDL"KIB5AJF)*$]EQB9LV;.#%Y.NM6RT9K
M-A;;3;H_Z66+62,9 *%]2QD(BON"92!B+]FH,$1L-)(_+ P16R![71F)[R'*
MFZ$RG.JYP51L=Y++>J4]>^!%J'[ P@\D=\?2^!V.W]8ARG_B#-IQ;X(->Y$'
M<PT6A)OPFAZAS W5;7\GKF#?G"#7R8>/V<I]^>QWQ(4QSSE"%(E#>GC,<.'B
MR>!_SH1?-F;V3$W:.;?.IRA]MH5V^8+G\>181+9/#%W$$%QO(>Z!V#<F#FQ$
MMYMT3\80=F[ M_EA-2_F.EW.=B8JH(_RM[!>Z YR@L4MK?S$ 4Z)O\Z?J_0\
MF$COEYJG8^:"-Q8K4M>&BYZQD5W<"SIRBBU^:N;25HQ\,-U1C68]FDZW:#4
MA6WEE#.>%"1\AJ\H4:X75^9D,\9F UY*1D?44!1]Y(;_^<V%$SE$X[ D7B(!
MZ8O!SW73D5X%GW<F*4VLS7!I<Z6"J"<KY>)J5A;';0A,S(]_V/L4>[DDI1N%
M)>0ACQM%D(<\5DSX93WDQ[M*JOM'@][LII)/\)0?VEP4L+D4VX=G>,3 Z+KV
MV:!QTWA25":MMS-90=RX!=(>\#E?,_BX;Q7A&84;#/T-;?3F?LI*#N1>6PPD
M;K=5A+WC2.Y+95S';$5"&T/B TKG. /T]F#I5O:%U"9N,2<'P41H,Z-&,D,'
M YJ'4!7M"R&^#$I]M6#8Q79SW*0'Y 8V<[0;FE4BJO/ *!OM5.MA518+RR:0
MM#>=Z4E]P<T<L5,:T-:-F.@,'SS3,VZH];JZ$-^=&ZDJ7>+&5JHHL,'8&4V:
MI+7I: "VX,X-@KNC6/J.H_&;VKD11_"Y1M&;>(WYZH<OG(AH?_HD?$?"HV@J
MXO9O1/G+!^D0Y>-)>10,O&EF_\K!PZU?,#RK'@4/SQ4\C%7")HH=QBUVN"=T
MOXT==I,/#7>ASE+BO+XJ%'.,+IHE#5C;,'A(W3$,>8=3+YG;MR6R,5S!4/ P
M/JB$@H=71:5W!@^+C6Q&MUI$3<CG6K@@4A*94P*(5<R/?\C[+Y3C@**'*'KX
MX>CA[P7M=]%#XE'4>OFLV;2,>AW/X%R;$TAL7&5"47L]?,B$]1U1^!"%#U'X
M$(4/SXICA^%#XH2.(*I5G2XT:X* S7+I<<\V:A+)0^ * XC,'4-R=SC!H  B
M\J^B "(B/ H@H@ BXG840$241P'$6V?VKQQ [*HN/&X9F"T)8;U0Q_"+9R=6
MX#(**** (@HH7L-U'PEA5'LA%,&.#2^]98^BUJOJ<I6DFD:OI&;4ND$W<"N
MU>_1)D449T1Q1A1GO#Y8O3/\J$A.JI"3UZJA5SPCLVYFUZ5Q$T(8VKR(PH_Q
M$\A/#C^^6_Y>CTIF=2]/=Z;26.P-2VQW-E/3\WXH@6A38UR4#!25C(F.@:*2
MGZQ>\)KFJ)KLJ:]N>BPIV'IIIR<2WGM(C1@WPY>G;(AK[]OU^+<'@Z076#%G
MONOID\T^+\)_!/FT:+X /=%7^-,OW0,/'+\9C)[C]//OBK[:_05_=J\?FV Y
M@Q(^W7;XL=@2[,U.OO%_741H#\\)).F]2L313!%L-+:GOO_7?N>?( <;VZ;M
M_-IY8O9&-8T.NR=##-)4;.2HLH')$_#B7[(9R!MWY_;A[DEZ5^;WUZ,W!\Y#
M@KGGN'\EGC["V3B:RKF\QO8F[,!Q%]VUNQ2"U>Z:[>J0/W\YJ@G$:J7"9Q\\
M-:2*9R]^D<0]+- \!U^WHP+F'7TA,CUGWSV=3TY,'0B"_]VI9TYR<\B^%L07
M,WIL$'5W>^G'/YUP<X,]24#U!3"!^\C)<L3-%V:U[4!&!V_9=G)DFPKXL5BK
MU;-\AT\4:YG[!%_+)MIBNEW,%OE646C_Y^]17#I:JW>$=J)33V3JM:Q0:PM9
M^*E=KQ1!]\&77+'&US)%OI)H=\"%JE#K7+/[1^#WTEC^$BW95V#I\9^/77P#
M9(4BA@$UY(EQMS+V=/%0-H^$+OH1+#;COV"+Q/\FR/#.G\_$\4"J#QSTT0NC
M2[]Y_$Y"Y7 QDY+C,9<D*$Y2"9F4:'F2E.01KD@4.V:XU(0:*=3X1R03\F->
M+Y&:MOU-AC+:RH;C'T;%)#7D@865?-Y2<B0I:PXV13$CL"(FLXJ^)@(I="(>
MMFP-L5Y>3JH&/N]JZV6]7,YN& VTI(]:YGE27BA3#5]*O+_8Y,KCFMN4R..W
M^WJAG*'3?D[LE;$)V;/EB<_"MZ>>M[3:!68SXDU.6#;9;(T;S46-;@+=ZJB?
M&SKP^_EYL8YC:6^B.5I5;:UYT/*HGZ6'8C4]*3SDC4UMLRSUJU+@M6'+HWX6
M\YE4-B7A@5#NIQ> Y<TTK<&W'_536_++1CFS:./SO-1;M59#MFG $W_QYRV9
ME$#ES7)*,?(S9ZFZTS3.)WG0\JB?BVPI*8VFU3R>2<^4HLIUZ(((6QZ]/;W@
ME+%*+451+999ALBT,&<82,SQVW,-=USOLX$E8 .IG2Q,!PNZHH&61_.9;P];
M=3.'=7!_7#'PLNR59AD>M&2>MW1XPL-KO%X6].6PTY*FO$A4X=N/YI.I$5ZS
M5%GF#)(O$=VQ5<EPXR9H21QUM-LTN<PDDS5%<NWV*6_1$,>.)K''0VKVIX-9
M9J:6Q$W6&[!CG+-S2=CRF.GEFF5@ZXYAY'-]7^%(W64L'K0\?OV@5O%<MCP9
MBAF\5N"+PR2Q-#4I>?SZU,+3%-X?FD:^+W;M844I<$G8\NCUDT$K+1!*IBZR
ME6Z#QBM9QE=AR^/7-]CVDL S@6>436K#M6;EUF -BW<<M105$>O0H_H"SXPS
M6)5N*3EG NN ';&3Z.-J?VF.>$/.4_1\[3QX/  '[IB=.MWDV)QG\BTA3_FI
M=7DY"NAT$Z;^'7,SW>RJV5:J8OA<KR#B3KO428;IS4?OIWOBF,Y6,JI0S@*#
M!',ZLNF$&Z2..B 07,/S25$6RBZA9XO%@2PN0C7^J /#C?K0Q6FN9Y":/F?7
M]94ON3QL>M0!>45T:F).,T2==CJFL1I[*3F,G!QV0)+)5(H>C5)2DDJ"@:2(
ML30B<5G".8:> --UG**/)R+?K%;,6K-@^"6J$ CDJIL6M%/06W:U\H1N/2@X
MJ69[ZVQ)FXYF_"GHK8@\[0)E*BW*C?92-%M\I88%IZ 7ES9UW&^8+:,W=\EJ
MBUFT33<X!;TMG._A\\9R+JIYO\W4E/RPK?$GH5?K6:[A#UU1K@7^VE%=*B.<
MA-Y*JEZ<X956$U].<EV<(RMI>:J=@EYB93?,Q4,F)6;ZYK192W&E M<\!;V-
ME&M(SDQP\&5OQ255;F&,,.T4] :>5\]+ </B/0VK".Q 'J4H[13TNLV*P-&S
MMB]BF"66K4&IC56"4] KROZR6%G,D@*Y2.?83D/NB[QV$GI3'BDRUJ2)DTI&
MFZ;:JW)^RI^"7G64MNT.+Y9PLLX7.@UI\Y"C^%/0.[8R-!'TIBI>9SMC;\S@
MN?E(.PF]1;IM9VIL#?>M3-(T[* S)_A3T)LIZ(8\RDF,6';'>0LK8&MU<!IZ
M!S.VB2W++5Y0L7ZJU99F0@X[";T;:^Z;,USKXG6Q+*\WFA'PQ0"T/!J2T.&M
MI+5<E_'\H _09)D;9G.PY=&0<FU?Q^;XVC+88BL[>9CRF:;)GX)S@TMKY(,2
MK(5,A76&?4G++A].PWFY,TH+%+9J&N5D6Q[HBHHEJ>8I.+>GC%'J</VBJ-8P
MZ6'-Y49R>,;&T>NGM;;#-+L5V6 'N%I1IM1:Z)^&\ZE-F1NQY+#&<K@9-C=<
MWQWU^%-PWC,5KSMN!XRP:0U<U;+SPU6U>0K.R_VVVLP&5D?<;#QLW352(SFE
MG8+SH6]6DIY(UHU,&<]DLI-25QH$)^&\IZ3(?B,0 420;:TSI$G;+O$GX7RS
MS/54DIK*>'V5))C\!A^)X^9)..>+HVJV4%RWA5[0F52JG<&0'00GX;R<I8*
M9(MIH2>:#-<,F@+C-D_"^<S-".F<R>0$M8>+I?2#0P\GVCZ<Z^M?T"VG6W[H
MDHIN'$E&T:PY?F5,XQM_@&,+TW8[>4V"38G(D0?N4!7>>ZTU^>.W[ZBW>=ST
M!KYE9&K3#+>A C\C\]MW7,"R>LFO1+';:,P).WSK1OKQ#XF31 )Z"?_SMWXA
MZV_7Q_T,I;!O!^8LGW#].;BR@1X .W01)J"3;J5[FX0/[G(2WE1-//8WS&0:
M3Z&ST4THO@.KJL,&WM1156P.>C--+,)#+=R$"FY7#E.<F/!^Z*9-R(Z:6(!E
M#AJI2F*DFG9P?Z:9N$2 (711/CJ[HNRCL6V:\L)5?^T^['<"3O76-00MWG'D
M73DPDV7?LP]MY/#*@5U[;-8>.P,]9]>QG2\J&O69-H+LF=Q[S[?!,R> :+M9
MVWW'8#3B5^3:"\ \O>I5VSHY#XQU>>3:IN\]-]:OR!KO"#WM>7,OF[R+"'$E
M0KRV9081 DG$=R/$RWN)$"&N18C7-C@A2B!L^F:$>&WG%Z($$HGO1HB7M\0A
M0ER+$*_LTT.$>!\A4)&+N.P!?BU/YK7$NOUL$U0'X]-FY<LSR]@VX<5P&\\?
M3A%SGZ2_]!PAUKFM0A0?S5/<[6#!MEM8GA+\$$-<&$N(,-/XJ\X14L^0E,16
M/?MP=G=8)"!A3Q!<?B'5ZUQK:0)+H-44J5>0)1YW!"?VM@0CKOA".M9'.>1Q
MCV7BD"V0_A0'"?@H=:.R$\=_SP0!VZ)8\:F ]>X)VNY%OAE(O!I#G$UCNF7N
MV!6T2805;1"3G&D"MB5L;I@Q8%65Q%^PZ(O[$['%!; C4IQNF44>:U8DPJ(5
MY]"N;J/0Z%X!#UA8M"1;/LSJWZ;=WVJI(/SY,"]?6?3V"N6\NW(H07YVL9P
ML/&F;JG1H_<KV>R5SN$=?M);F)6^4)]0 U+&E+GN-#^SD.A;*H:.&LT66U98
M4? M/I.=30>T,(&;&<D?_W T>4<FOT[!O3@:AZA<:&P0ZB/E0K\,1EVW>NB?
MEPDEZVV=)M7.QI K7=SQ2)[EZ2; +0:>/W3/L5\&M2ZG5'S%,J$W(HA+HD\J
M:6>=%>=]1QDRXTW>ZE^O:NC[RX.2CY)73JT>B#F9RAF8H VS<S:-<P-8>>;U
MZJ#</<U^L>J@%Y1.5.4S-JK!'U;YO!$P>ETKN&[1SSUT>K6H9T.VB.6ZF?=$
M/;5^(*S<3&F6H?T""VV0^!U')^_H%VV8^ 6Q_L2G\EC^,JKGD =S#4#]9ER.
ME_2:Q AEL)L@2%SMY-MDPBN<\?<EN?#B=@^B2'PH@L[$BQ43?MG0TS,U:>=E
M.I^B]-GVVI>..$$N_>O\8:;GCB1F_[P9)M:FV[2/L>,26_,,W:4?1+/'X77U
M8T$GV-UP;$HV+)C6".NCA0:;NS<6]U%V3EAEWF*QZDIJ63#*!"ZFZP\/LDUH
M4>W')'5'4N210?;S5D4PABM++*)*YU:@XP5%UP@M?6E<.G.@R7W%I[1#*[=H
M18#VSGC3N-&U\U)))G#2+@LIS7$9-N"C&K74/9-$X::8AIL^S1+[.G3[C$!$
M#%?5&XAB?-B$B[F]EK.=B0H/>?E;6"]T!SFXX[:W EELGV"Q?3#<MA4J'TQ^
M=-">'DWNHZIT0AU:5=NMAKU(]_!-C2^R>*E396U8,Q\8>!1%7]"Z^V:+#@I\
M("/MRQAI'P6B=]ILI91BKI1%NR1DAN*#W5K59Q('02JTV>@+)C;?J,"BN%C<
M*(+B8K%BPB\;%SO>DE4]. @%>47>'!\[M,8H8(TIM@]/8XF!.7:M+5NWH?\4
MK+%D8\J,%LJ+42=M#;I+HAO$?<=6QM=:]6GR03%8J?Z@I!9!AM3A>6$PML9R
M=TF<^3+.Z!BN3K&(K:$=6Q_>L?55(.I6-FRM)BU-<4J#H8@UN?2<3(^&@@"/
M)(0;MI+W^+'/Z%9!ZZM%T"ZV8>L+N$IN8+]6MK(PN^G)?"[F9_B44.:64A[#
M4T/?LE^+Y+[8?JU8:A1HGU=,%(H_W.=U&QCVNBX1WVU><K>;Y"9=M2&R2GFU
MZ<Y*/:$+00QN\R+8.RK)W-'42X9/_.+A<82B[Q=AB_LY&XCP-QM:C>&8+Q^2
M1=P>3\I?/K:'*!]/RJ,8XDTS^U>..6Z=AC(,CZ&8X[EBCK'* $4AQWB''/=$
M\+<AQUI3VM#]M;,P-D*^VUYKJ<;PH0EL;QAS)&GRCB&.-_3=JOC&<#5#,<?X
M(!2*.5X[YKB'4.^,.2K-@K])]2:&6"^+HNYQE$6E0MP*,T!/Y*G?*FBAF".*
M.9XYYOA[L?M=S)%X%+QVMC5KL[8HBO7ZN)XLVO5UOL%#P7L]Z)B\IU,HZ(B"
MCBCHB(*.OU$FSH-JAT%'XH3^P%5F6*N?+\W%^MS+F-[<+EKC$,9@V#%YQZ62
M=Q2!HH[(*8NBCHCP*.J(HHZ(VU'4$5$>11UOGMF_<M2QJ[KP!'1@PR2$]4(=
MPR^>G5B!RR@*B:*0* IY_2AD)))1U8=0(#LVO/26_9"VOUJ-^+9BX[)DB*GT
MHC;)KGAX]@;:$(F"DR@XB8*3GPM<[XQ99O.37JU-JD6CIS72ZZJ;M[+Y$,[0
M1DD4M(R]?'YRT/+=XOAZ+%,8&UZ->*C.11(;8-F'<L/JC9I0(-$&RKAH("B6
M&1,%!,4R8Z5[\)KFJ)KLJ:]NL.RI@P7+$7Y3T(GN0&R6%[E)6H,H][X=EG][
M,+0:5Z ).[=[Q-9=,;9-4UZXZJ_=A_U.P++#TW#%^#67UUC(N=:N7Y'/2?8]
M>W<A%)[HRH%?:M]1%;6!5W9"C_\+CLYS=AW;OI"(1OW':$(E[TGJ)7^DHJ].
MO-(&KYF8=K";R-UW##[ZU\A190,+P-3]>V&[.F2!7XYJ LY=J<^>N?4#A2_>
M-95'KFWZGOIL[%?DEG>L2F LCW\O&@! A+@2(5*O1%\1(9!$?#="((F(!R%>
M2Y) E$#8],T(\5KV"*($$HGO1HB7TVH0(:Y%B%=R?1 AWD>(M^<;_;&[X^P!
MGK%J>:H3.V_X-8X[>&T61@=O"2()&-FF\ACE._[[G[]'YYB UVS\3V>#HRE!
M?'$-OKA.YOWM\<75D_-O9%Z^O;Q<_32@=\_ +I:/;8/Y9T.*[T[ZJR3OWQXD
M7#N__ZK3@C3PFUDY;E)Z+J^7?Q15HQ3S"$GMR9D1]8OSQ-@VX<4P_?8/IXBY
M3]+Q9I"=OA&Q!A;]=VNZQTV"QPTHHX^9I(F]5%+$%5>##S!'USTW\MT<\IB-
M=\@52/%"BM?E%:\8;<Y\M^!L\UT1F%Y9%[MEGMGMLXJ4M'"W%>*?*ZAHM\PS
M<.-/Q"]_P<U)[D_$,5=6WVZ9>Q[W6$0L%.ZT>*^FY]G/=+K;J*CQ[.SPDFSY
MLK-)1"4TZ%O=ZH8_'^;9]J>F/FO3? Q*9!#D=K,7%>O-7G-;+LWQBF.);+4J
M9[JI30Z' XKWX>"!WFU-^TUUC;?;9&?L]W1!3/,2#6MAI$CJCDD27V;[>"QW
MHL8 I5 MC _7PO@R&'4KIX/WY]E5L2BY*SS#MYN%O%.<+DB(6V&A?AJ!UN7M
MMB]2*X."M3)N1'XK5K?0]#)*2LB0E,QJR^)B)00W<:HX5M7QCK9T&3&_7/1U
M=]7C"XX&!/8M13&2[!<KBG$Y2P$5MXB/1O&'Q2UN!(QB;?"\6K_"-'D2,%8/
M%\M8<N)JHR*?-J$" <M7T'=)CKTCF9<.*?L#WTS<'#$[3DZP82_R8)X!I-^$
M__+2KI8880QV$P2)H9YZ%4)>:!6_?)(]XL(OFHCT-2AY:0WYFW'AQ3/1_YP)
MOV:0ZYENM?-GG4^[^FP3[UO%MLZ'F<A]&(N8Q[DU-<2^WX5]/\7[_5WH_<7\
MHC%DWQMPJGY,-XRY(IBSG8D*B*/\+:P7NH/<;7%+-C]Q1E;BK_/G-CT/0]+[
M)?OI6#O^I^V^OQ9&4M7("V2GCM>:!:OYJ8[_K5#Y8/*CZM9Z-+ENT6H >MO*
MB0! VEMD":F:*>%LQFH,N"S=J>0"*0DSGY@[BCH^-N/G38AJ#-<<Y(B->1+3
MEP:CZZ8TO0I%[TQT,HJ5<=//T[+A6]ZL[V=8=[+A 4Q=/-'IFX$4\M/'#7J1
MGSY63/@U_?3'FU&J^\>YHKTH;_?7'QIQ%##B%-N'YZ?$P(J[]GFN\5::.(=;
M]$887Q<W)8_>]-NT2*?BDKKUV[TJM9RS'F2295/<>,G:ILO(4[O;E+APKPK!
MW9%4$J5]?_&X#=JK<K9S6V\=HFYEJXI"#SRKBV\\8;FIS\'\^B-FHP'80EM5
MOF:P[F);5;Z 6^8&=JKP.2H@5X4%9<R+-D\D&TNJ4>6!O+YEIPI,&?]2.U5B
M*-1HATML]) /'M\:;PQ[706Y[O&M[]G>TIUFQA5):-$X6V2R&*4O,ZU: $ ,
M;F\A[U(T>\?@[.UL;XDC#'T_)_G5C\HX$8S_]$GXCH2_SED8,1OSU0^Z0-P>
MDS%?/A:(*!]/RJ.8XTTS^Y>-46Z=C#(,IZ$8Y;EBE+%*-$4ARGB'*/=$\+<A
MRDP#]-?(UVFCG;36=-<G&EY= T8WC%%2L*8$GD+^?A2C1#%*%*.\*$*],T;)
M-+M3IN+6&GB&*7C%J5GB'8:'N!4&*4\DPR/00D%*%*3\4)#R]^+ZNR E\2BP
M53R=SG2HE"*RE46WTJJ04LD*%8VW1"GI%(I2HB@EBE*B*.5OE)#SH-IAE)(X
MH7?X:CHCV[Y?$);"Q)"2_(!(6DT(8S!.2=R1#'>7PE]*ZT1Q2N3&17%*1'@4
MIT3<_NTHC^*4WY7R*$YYT\S^9>.47=7U5"4!K)>$L%ZH8_C%LQ,K<!G%+5'<
M$L4MKQ^WC$0R*D81"F3'AI?>LN.RFRRGS+68[POE*L-MZJT"E<L'\( "M.42
MA3-1.!.%,S\7N-X9Y:RWBG(JWYTT1:P[U=AJWRZ72DT(9V@K)HIRHBCG1:*<
M[Y;BUX.?OBZ(F_)#4##*&6RN\!5N1/NA6H*V:,9#V%'P,S9Z"PI^QDIEX37-
M43794U_=PJDNG'FMT.0\O-TKE7Q,F-7;K1#EWK6'\V\/AF(CL(-DUBU?CMJ=
M?7F=^:ZG3S8O@)&I>I[JA((&)0;#[XFW8]+9!6O7WWVG%L4>P$@H9P3YI"*\
M/IH?_W2FJJ,F OAGU_^WW';U(L-@Q:VNE:J!&?+,IGK)WK(ESU_T582* I"A
MP'845[7.+3[A"72_+=I;DQU'"H1U8_$P&)$XNZHZS5[777?EX!J3Q^Q/'B,M
MN#+%:4$Q$'2/5G5U8*>GG2#>DY?.Y0A_%1!M')L_U,OV4N6K:>W'/Y9] D6.
M+KR=DQ-VU*6$%ATIF "Z):RNYTU5\,]1U<0<3/343:A Z)1#KS 3.H\A?]['
M3?BS[QC%74).>+8GFPE[<@&7Z-F9\]65$2[CX9JO1-,0L5G(D>[>&N\^GG1T
MD@-+]F+8GNB2CR^[LU$?6Y0K--L$RQE+W%'<\7F;CYP4HJFZ>S:,)0 VE".+
MX?%Z8@$M?SCC_W.-,LGOGO0S^T_<M^6#JW]4>S@DEU%3E*5&\XQ(:DK#K0?I
MX@0"!IK=<\QN=M3M509843':0;6FZTTQVQ5YZ(IBN=<!^?Y,N/@;)>Y/E:(C
MDQMH0X#.3U,,OKA>PE%->1L<!(/"5E'<T(5 \BCSENTE-BIL.[8U"SP2R+T+
MI?O9@A'B+/QQL7#L-2"VIYJ;DZK74>=>P8D/&D_,^8TGK]_/<=+2<G'6M5N!
MWBTZ?*VY+P88\RXY>'R5ZJP HYX6BYIM110*!<#MP G?_ST#2%JSO8$*9F%'
MJT>69_?5M_*R8:T;1EI<UM,+BIJ,YF8=L#QW?^JLY3<0, $8W@2M[Q.0SX*M
M"&*[E6$12F;"!E\3P,@'7 -6;U<->1 L*N#>Q$C=9S#=?62<MWL#GT'5V8F>
M*0P&)85755$5RNV +.OD;,6?=.']1KF\&)4CZ,O9SO82;$?L$;Q<3)HKCIAW
M\?QBD/=+"ZG%=+37,(,BMKK5[UQU+]Y]?<41?QD?]<.NPL^_=#"Y^AC\V@)3
M#L8$X2^D?"*:?3#DS]9\GWQ,>Q:M92?L_8+986<A*#M/XXA@W >/=D)M.6+V
M!'3<N#M;0)6!,(+;'K5I+*3X5F)?-PW.MO:=W75ZY&CY6]%7N[_@S^[Q8U.5
M'>B!G&[[\%@Z&[YMYW_$_W41I^(84%UU=H,GZ;V#JJ*9()+1:)[Z_E_[G7]R
MB6)CV[2=7[M,E+U134,T_D6&/E)-Q4:.*AN8/ $O_B6;@;QQMZ/D /S3NU.@
M?CUFL\!Y2##W'/>OQ--'.!M'4SF7U]C>A!TD+D5W[2Z%SM3=-=L-\>I7J(SH
M*Q4^^^"I(54\>_&+).Y#"0%?MZ,BZ'OZ0F3ZO1S^1TX 40$KT']WZIF3W!IB
MBP77!3-Z;+0D[BX!40YK2 #!@^$5J.8^\JY\(;PY9+7M0$8';]EV<F2;"OBQ
M6*O5LWR'3Q1KF?L$7\LFVF*Z7<P6^591:/_G[U%<.EJK=X1VHE-/9.JUK%!K
M"UGXJ5VO%$'WP9=<L<;7,D6^DFAWP(6J4.M<L_M'Z]!+8_E+M&1?@2?3_7SL
MXAL@*Q0QC,#OGQAW*V-/%P]E\TCHHA^!KCC^"[9(_"^ >'CGSV?B>"#5!PF*
MT0NC2[]Y_$Y"Y9U[?40W^&6%]=?"O.H-R>&D-Y\G>:C/_8ADX;$E:0R]57V9
MF0MD@YQ/R=Z,'@8::$D_;YDNE@934E]DC&5_;JAU9U.P.H%$'C\SLUP)CITE
M5$$O9DB_5\>,84<#+8^>N33DX;H^93AQJ>-.I5XR'Q9^ +3-HV>. TP=I1[F
MKK!AIL+,5273K6B@Y=$SU=ZH\[#./PQ$7R]5EH3*4<UZ4Z(E_'E+"YO9)J$,
M6H*N6,(#7>L,L'( 6AX]<]VL-$=ECR/%^J@@6FZVE5\N>(DY?F:7G!1*JQPQ
M,]A1H;?IJ&.*[3<E]KAEWM/J9'.5(0PUO4GWEY72@[6!9[0=M5RHI2 [Q4=3
MH4=NJ.ZB-*BH95BT]Z@EO="3VORA7#$VW7&?YPO*(#V&IP@<C4AA,GTI3S,9
MP[>"%6A%;#(U[12'C&=S/N_)#S[>%L>3384LE,T.?XI#''5ANMG-NB)@3D_-
MU+BQ:W:;ISAD4$VMD^JP-S=8T6/UGO8P6\C-4QR2*78V2G\\:!E8ER6GYK!5
M&62T4QQ2HFM!H;TR#=Q?SH1D65^T9GG^%(>XUIRN,EHU(V3&08.KURIL0SG)
M(7AVKK(9U9R)Y&*6$9;-5B&?/\DAK%=*+8VQ0AGSM-.7\$YQF1L$ISA$SLH4
M+;7*!)X1'G),OI&9C*F3'#(@K&(%8$#:*/MV>D0KY;(T"D#+H['+K?E&&8X+
M-6.>D]R-FIM2>@L^DWG>LE['_7IR0IJX7TOFEU4O*<F9YBFN&S4W_# EM\=&
MF665S9!H*.M6<(KKFLV%+#4&\@37Z='0J]3[A<)"V^.Z9TIC=-](,HIFS?$K
M8QK?^ ,< T:<V\EK$FQ*7D(M?*MQ@_^I<0/=*O&R;5K'=HON): /8@6-E@M:
M,0E@A"<6P&Y2PR#)2#7MX%<X+Q]V/80V9&>S4 \\#$]##8D1TJ+5%K=>ADF9
M;3J5IEHQ\D[5F(XZ&45*:D=^T_%457Q3K4].9P8]>P=O*:?>RF^G-]1&.V!P
M:1/\%/D-\L"L6$CZHFC;E9I6P4D[D^])P_E$3/&1MPU(B:KPWLM- 00D5'<L
M+T#G/<=7SY=K\V0$[*L]+UN0[S @PX#]HYT5)?X#&\N4%Z[Z:_=AOU.0O[<=
M@LK6.%+L#S0TV??L0_4LO'*@4AUK5,=VJ.?L.K8S@Z)!OYI@$SZ%3=YSY$M[
M>/:TO;WG0^_=!,K&=M9VWS&8J/,KLBJAW^M5@VYK7Q_HB?+(M4W?>ZXGGMNW
M$%G6]SCSJM?\'9Z&/;_"Q]*<R%?VDR&Z? Y=".J>0(2)(6& P*007>)'%^*>
M0O(21[I0]S1:^2]'F-<W%+]/$?N\2;A:DOIK.L_G3L&1A_8ZB?NOZ1M7<EH?
M3M.++OAP[VJT =N>[#9BC\[$("^N\1<)]KQ]Y+\9*S 0(3>$Z5!_O%F3(VZ*
M"7:95]@V]2IQ."L('!$X?DMP?.Y]O1E@_$SF^(X &NX=2&1E3T7(&7OD/(/6
M</SW3-"PQ<@8E:OYJ&AL U8W IS7X8VS0>07XI-HJG*R[B3"'9WG -)/W4%]
M/'YQFQX,=]^49,N7G4UB&],\&W!^ZM[Y&])"X[@E?7_B+E8&C""/=J;_2;#[
M]YO0HS!_&.7?MC6[W9Q)UQE79 LI*3U2#7Q3:GY*3:^H<T4+#,T/-RG5O:GJ
M=*:RM=V5])C#_]NB7AVJU*[Q+>U!S Q[%&ZOIWUF!5-[R+#B-IVZPY,7.:0H
M6OV0@+\IA!$SZ#]++8TH!G#CR/61.F"QQ*XK%?5Z.W(]VT<9VJ;0-(6ZU6^+
M9=1E7%:9TERHMXEQ?L@)Y3G/ U!C?OQ#XO>I4_LIXVODOB:-^6A;_9>P5M]<
M.W4.$-=4/\T7]RDJSP6S_=X#(C3!V65!GO:$/%TVG$JIE:?ECY43N!B,O%P&
M R:JFX+^(*4""5]:7I/.-I=5?0;3D$E852?)7*0*X.=;_F>K4?Q:BL4W\/&]
MFLT0/_2Y2$V&^.!/7)280_3Y$TUF93B<VJLX \%O- JC3L_MCZ<0GH F0Q/W
M)'5V329FID940^U6'4H757=B9CH=#2[Q%U*!8@!"D02]H *M!DK%S^J=L>%7
MB]769NS5K$4SVC5%</0=B>-'*//S5CU 5U:,;LB_=4U=*6;0A=2G6*I/A\CU
M)^I34RQ[RL/,88T\70GR"]Q<.RX?;?.D[U,O.;9OSP^4LYV)"K?L_RVL%[J#
M/$*QBB@C?>E&]*5',7I!9>);BAK(A1$F8,E-AW564G.J\E(2JDP,A=^EF$NJ
M3#<ACLAQA!Q'-X="<=%\MACD@PG^$[6G*/*#&L$\9,5\ULB.1D+#+P]@S0J@
M]K#W+Y[2]26<1ONI28?5%KZ](^G/$XH.=2D*Z%**[</:!'%0IJZ7<71]V,I)
M&D=O[/+2\)5:/CU6EE1Q<+,)1\WEVFX63(,4_,)PL?0[C#BJP-HWH>K$WK'<
ML>ITJ\ZF^&L@*+LHSBAUCE,&XX13<5&O/I1<%/1+I=F#L9H+=3U3"LJ]R=H*
M2\9%(3G\U9#<_AD\^U6,3Q7]>J6DT94JOA]*["O =5B]]CU8ADH=/7L^*GAP
MZ4H4J-11/.F"2AW%E#"HU%$\Z8)*'<64+JC4$2IU%"^C_SHQW;-OIKWT+O4;
MFI##,D<WM1W],]CB.];P>%X$"57RB#UJ$N_G@/AM5[TY+'WR?T;H<7NED>+#
M,]\1:$.?<<0ZJ&(2PMDKU_V(3W[C]ZJL%"\>0A68COD)AO B6+[E DP'<:KD
M/;F;HVU@#HLN_5F9)AHE0Z'J2F^KKD1=+8E@6J^4C%2C6C'FQLPH\(+HJKAV
MJ\E.6578E"7,6.'U4:H^7W2:A#<)HNI*23IUEV18E.QT+<T2)3O%&J;.4DHI
M3D#U);*=C$ECT)RZ ,'(( GZI=7,9KH9E5)B[I/G3R6/OT;U+>LMQ<_Q%XL2
M3/3^3I;KU7%K-C/$JLP)O"&7Z0)=6_8;2O%E+6FBKU4%>U =.T;5ES*%I-*8
MK#>^4.;7ZLQA5OYLR4?5E[#;K+QT(VK05P&=[[F!+K:P0\8-=/Y$Y^$*C2[E
MK_JZ.)\P?K6U6>DXUXR*+KV$2M_(JX3*,GTI!Q*&G [?R>EP[@7XEOC[JUJE
MJ/H+JO[R=:S5SZZ\\&+UER:E:I8P,\=";]CK#W5/E)UI,ZK^DDHQ-UKYY4:6
MTIM$(V2EQ@INXN*9_V"9EUZF[\JJII:$GKXI=7G)=0)U6^:%NR?/7]WN)DW5
MWQ:#0?D/J!C,F8K!7 _<+&,Q7>/3'(=C254J:<-2?8+%M)+>Z_D17H&5\RQO
M+46_F>1+TGJF8K-F5 PF27-W2?:"YR\@5\4-N"I0?L0YB\'$":?BHH1]*#U"
M2+95JD9E/&/3;P5>32OF"XH6%8-A[I.O'C2U7PMFO_C+URKL<G9A.C46BCV&
M$H)\E*X.H+J:"."?JY?9=1U/ZNB>J=8G14N!<NS+YI/T  X4Y@O3WJCJ,TF[
MM)3Z$P[+XD'1$7KUUF::':AT>_2B9P9SU3&45;CYW%6MN.02U&3'D19VN29G
MDAG#6)8+BF TVT*SR/_XQ[*/Q##A/,XAX$TPB2$3N DMRNU)>'8"-,?4+5D2
MBNZH8\]VW(3B.V"92(#>@7\.^&D.^&#J)E3 A<JS:I/W9^+^-TCR,^Y_191#
M<0 <_$0B\,7U$F$1@:?A;PVGW\R597N)C0IO&MN:!9X-3"PW84^>30)XF =(
M!7Y<+!Q[#?C*4\U-8H</+_;R?]XHJG!1%):\0[6JJZ8PY[6LD3&=_J!\P1*.
M_1+MS0I$LBRH/+9672H9-"K\ONQ@S+N6N!T&M%5GI8_5TZ+TN%J%778[<&[W
M?\\ ,M9L;Z"" >_(\B@L[)ZP%$O\W,VZMB+DE4XOO[&L_J#;_/$/D;H_E9/\
M!F(E &.;H/5] C)7L-N +$?+:6(1"FX"5K)( %4-< B0(5<-&<]-!.#>Q$C=
M9R;=?622@TIIURHM/"FS3:?25"M&WJD:TU$GHTA)[1@- 2+\!@TO1M$(!'.V
ML[T$VQ%[Q%UI\V'@\70-[ZVZ@/C<Q&+SP6N80!%;,'M<NY]5J'OQ[OL#2^1"
M^LR;$>Z-FHD<SIE$*R.%9EA*XL: :6@FQ4@C'*>EI#Q6:"6IJAPA@_?]+>_N
M *I?HYKN3@:;8"5LI+X<I/B\QY \X$+N><LYSP U/Y/N&&7)?&B+M3Q=&#0E
M,BS@=]#2%9J-C9_QD@)69"9,Q1#&FW8 6C+/6]+4J&99JV H].BJFIQS*RU/
MPI9';V]8RL*<%WJNH#<7Y6 AB'IN#EL2Q/.FBM.:C/-I4C7(M91G*D2FI8&.
M4L<=G9(&;TBS;LG(U^FAD.T\%!L<;'G44=DHSC4WBZ?%<L_C9MR,3ODCV/*H
MHW(E-9CVVV/'*#\$$]*CP0HD:Z#E<4=]<IXM-LK%G-B3Z"(V7,SGPD:3: E_
MWE*MS1>=H3ZL"_.66''%9+"VEUJT ^.PY2A9R*2(>=_#_2S6M_U5IC=I;@^-
M/6Q957,9/RV,FT);#\P'7/0GY1Y\YM&0<KE&O48(\[) ,@YN]&4*RCEH>3RD
M)F,EZ:4\-<4R^:!O)">E*S5-8HZ'A%5&?:\\FSX([&B:SE.RV'$EF#1)/6]I
M2^Q\8>.CI,AFI =,;S5]G(3'GQP]4S>SQ4F*X#QQKA6&Q4JYK0ASZ$H^:JDI
M]J;FC]NXD>&30[H\L816)P M4\];CI5DIMUOKGS!+S,$HZ]R RK' ]OHZ)FL
M4$J1K22=P3,%)R5E1V R>D'D!GK6DN@0^-*SLC@I:&UZD4Y;N?"91T1:K&:N
M@*6Y,MZ6@L:*RX^GE N?>42D2IN;IY;<."/4!_T9*35R.-.'3JA'(OWQ\K/@
MRA2G!<5 T#U:U=6!G9YV@N?+!$1[1YT"P-=7:M$":ID* %_M@)>D3; N;:W-
MD60.DH5*HYJS\66C4Q*UN9F>BEL5!R M8"WOA782; 96"14L" OP>J!IJY?P
M=.S4T^>V&'[:U:7H[L*4-[]TR]0M%1O!$>\_#GK^CXS6K6.'6YS8!_JG0XB^
MP@<!:H,EWCS>E_OCG]1]M),T6D)>VH!Z0-6$:;M/NYLOS$_M\515?&AM\N.Q
M/_=#G3ZTITYP6@5TK .=$,?L9C3[J^ZDDIZ([*+<P]HT/UYZP3&[G6YW;79[
MV1K:FXF$#:<BM'X.Z7,'[1='G9AJ:.OH5FCE@6& 9P*E#7X*$TC"AXQD8$>/
MU80[554/W I_U*$F"PP@J+M!:\74Y4@'2<@*[&9HV-XE+& T@5:>#*R&.ZA.
M KX!!ICO.*HUWB0\8(.Z9F25/=V7 *9.8CR%=K0+NS:1=2>Q@FXI^"P%S-(J
MK/_V[/F1,@[':EOP[? '^0US<=J4@WV ;L2[\!/0U4W9=?6)/@Y[ZR8FCCU_
MV^/!J)]L:"Q4.[<6 B2# \P%8'6JH2T^4DT[2/P5DL/V7?!F]^>O,UK6Y]8I
MOVX98RIYG_JFU3]?8(UWQ&?.6.Z38Q A8D$(!DE$+ @!1()&E(@#)1 VQ840
M)")$' B10H2(!R$0-,6&$.PW+5<?-T*0]PR+*!$'2B!LB@TAONF)#7$C!(V,
MZ[-2XIV[/EYU]\73_WI9&#YWRO-Q_.KS3CF@[FGJ<^OFOL(!1_.#6.("YZ&\
M8JU>6>H_A^:OF>Q(%&Y+%,Y2(OO2+(&_@25>K'D=A9*C*<ALX\EG0X4;I?QE
MC(!O 8*O*N"WC8)('8Z#V%]5#FY"2?[H,M#8IA]5=NE'-[,$W!HOX/=QUP@.
M3\$X\Y&!B"%N3T?L/&47(BZX$!>P]_0G'V+V&A?LI<-&F!"F!W_HD!RD'GW^
MF&/ ^Y%Z%*/2>^^7C<><:P20E]2;;IE'LD_Y]HA)+JI+W3*7("2YDJIURTQR
ML"<K4L8J^YO%/J"+W4"]/O#F]'8GU=$!A<S9).932WW%0T]E/H<?#J;A+,6\
MHCS_>!7S^O<[ZC>_KU;)X\EF3Z6[P).\L)9.5#,G\[BW[Z"VQ9Z%EU4GNJ4J
M:=4"'[RP_L_3RK0M=L%5,ZUE4/3ZXGR<JZJMAU8_W3ZHUX51[RO8!2MJ3 '$
MJ8X;=11@/)@[\*#'>B344TGEM5@P.UV]C_OV0BAP6:Y3#>"6>NK'/R1%7:2D
M,H*&O7#_5X"&U&>-Y&:1(2_K%E0V:JJ7D=UISK2#@JIH:D-VGJ"A_& U!H(K
M=/%>4%O.';FXX=;:U:"A+/NE(K<(: ,C ]RAV6"M4Q :V!__4!>JMHZ@82]+
M_RM PS;-'6'#V[%A+U!PI"UXV /+\ 95Q%6%*B1-OS%.YII7@P2ZR"6U#2$F
M#=\O8&GZP5?T!3R4-/7C'^*.HTD$"A=U>7].,=WS@P+]65;1S8+"[ZK(;''A
M@2H7'XR%W!14$@M<NJJ6IUG^:KC0(^UUNC-,,L9RU'^P6B5LOM3"<ELD,"/N
MZ"3^$C#$+][UAPZ5^HFB*WI(IL1(A>5FCBNW'!:-^7J>RFLZ63[9%WDP)^<[
M"F+K=HF/H_5T0?7SGFGX/;DX#F&7RW!Q*A9C>P<3GUD1>&.UW,OX$:9%IJ%F
MQV32Z''%(B4SJM.0/N)B?*FD73I<Z%K/USG0P?JD(Z]/* ]"P:*R93WO&?E1
M%^>F6JLAV_#47Q88%>1%SB'YGO#"QN!HQ@LMDELO \*7,^/+2[Z(EM[IM]D4
MML:7]?2Z)F67W1;V$9OCO+ BBXM>4:ID1[A.=9G H^UU(0MA!?HJ\)?.:$.P
M\GZOQ->$%3H6AL77@Y57O!FE3-)/Y:G\P" 5S&&SBVJE.?N(E_.\R"(6-(/P
MBOY<U$?<P["A+UM8%E8,#[T=U+&OXWNDDX0'*/R^\.R5/2#(71R+S).S^T&^
MO,_X4IC[EF04>K%:S'BY;AE+C"HRV4XUS23_Q%*$QU[]"@'A8]#[6X^SVQ?S
M,V;6]\1Z2\YR;H'Q<BX\80'EK7R/O)5SNZ80KMR$"^KBP%*R)4,A^$$=]V>$
ME1%*^616TP"PL !8DC0"EJ^>]7)VIQ1"EC@[GRX.*&.6\N@-,:@);3Y%-">\
ME<E:$%#"G)DDTE6^?L[,V1U2"%)B[GBZ.*HLIVU\2"T?&D)O)LTV;G53T9H0
M5:*,&Y+^'ADW8*H2\AQ(@K?G6(K.T55EQP)/0SDU**?F]G)J;@E3K^I8VGGT
MGX-FSK'G;\#YJ#:?%QWC^Q:<)?(/U35;STX$%O.J57G>[VV*FI2$?J;CU(3S
M:6[?#6SBD!Z$4I]N*8;X.:E/9\:=YW#3'7JT/9SQ!K[QFZNZ-I>$DL,#N(&Y
M4,RQJ8CP!N5"W7PN%$H81JDW*/7FBWE KK1@EB=2:2JM&CE#IO/R2A*LCF9!
M_1SZ00CF>$/B]\C%V2OM4CTX21JYEB^>7W.(613 +,7VX<G4GX+(ERW]\NEC
M_90-G5=RFLQ(7Z?FR:4JSJ5LHT%E]>+<NE[]!\D4\O6"KK""WO+H#EM>C/0:
M+W%1B@V*A']&BLVGR]OU:L=\^E!O%5K>Y!C)M(P\UAV2?6,S$C))?"D6I<SU
M"DDH:Z->9:7E'%<GA;E+MDDW16L 6WZSYPMAR^6S;#Y=X*Y8?.;3QWJKX/)2
M3HZ_(B6JS]F&4*[/2Q[O;G2N=SU]Q5T"H1D5VZR 68Q@J]E-S@F@OH(2;3XQ
MT>;3)>V*U6L^?:RWBBJO.*6R^9+C^@)?-LKY.E?*KFG<%JY7(W,AN^4QS6SZ
MXH9UA5&JO\KV=:BL1+DV.,>]FFOSMR<#/HBMZ$>]K_ES\+KQB>][Y]GN'=,[
M-E79@>(RW?;HD?/AN\]]3N\S_CXL]TS23\[8K4.6X)Z?Q?M?!V<,/XHO-K9-
MV_FUD]&]46W/-B9#<=54+#K"6)Z %_^2S4#>N-M1<MP]^9A0\NM1SN$\))A[
MCOM7XNDCG(VCJ9S+:VQOP@X\?M%=NTNA7.^NO7*.\I8JGKWX10*U#W(.^+H[
ML9F^IR]$ICTG.?Q'/!'E/W)BZD#H^.]./7.2=^%GP'Q E,V#,N?;2S_^Z4!)
M@OL%,Q") *@\<K(<<?/G5Q8OUFKU+-_A$\5:YC[!U[*)MIAN%[-%OE44VH\%
MQC^_H[5Z1V@G.O5$IE[+"K6VD(6?VO5*$70??,D5:WPM4^0KB78'7*@*M<XU
MNQ]Q#_G$/2^-Y2_1DGT%K-G*SZ<2[J]#5BAB&('?/S'N5L:>+A[*YI'013^"
M56/\%VR1^-\$&=[Y\YDX'DCU@6<_>F%TZ3>/WTFH'*Y*TFA$*0#'98F6%4:B
M)R-%2HW4B<3)0!,AV"2X,/D1R82\6\<Z_:HY:FHJCI?K#7J2K71;6C>0"(E[
MWG(Z&%"M_I29"%C9:92G&XO.S'B)E,CG+9/KF42.>3=MU%/<I-"H5'(\VP0M
MF><MM8%5&VGS!PR7K5E#:[?]-)^"+8_>WEFQW+K.:3U\.7!R+:7LU*HD;$D0
MSYL..A@Q% 9E'O<KUF"9"9K+![,)5)*CCGISI54O9P93O)=I!A@F!0'3Y$'+
MHXYZU,">SL<Y7R ;/:9IY:MFX 6@Y5%'5;N8)'6W73#8/MW2G%5SW,%@R^..
M^D:_6?,JZ8;!DLV\EG)<S;=@A3S\:$;+GM43"^9 V&BU6GI8[)MM!=;8/!J2
M5@U(N=W2%&/.J\F5.N@6"18^\WCNQ=$\WRVG E'F')'S U=6^O"91T-*C0O8
MI-:MD*+J538=?BSC+2*LY'<TI$)E6%NMO&D>]T>]61UWJ[DV$4C,\9!ZPTJ_
M7',7#(XQFI,>U=KV P-;4L];/LB%!KZ:>J0AYTE;DOO-)=:&VSJ/GCE9%V6K
M3&0J0CZ#$]5YD&XD\::4/&ZI805MY@8C$=<51BS8RTHNX\$08>IYR]QHS3?F
M/M40R@,[*V+SW+RU:@)%[^B9B_&D-29]AS4V/BVUTRL[2;4#T/*(2'S*Q=*"
MW6H+]5J-[A;65JD^@LKC$9'*7;69X5U<%<O];,<KS]V--H<MCXC4Q3-*8."5
M-JXO9 &WRBEO,X)O?R024."@HJY;?FBJ1S>.)'.0+%0:U9R-+QN=DJC-S?14
MU"38%-[YF[N,9G_5G532$Y%=E'M8F^;'2R 0N[M"U?91K8I,(*!2F?+"57_M
M/NS#/E1$MDH(Q-9QM(X? ++L>_8A&H=7#A#T&$"/U4[/V75LI_5$"\F9\M[W
MP'WO^39XYL2T@YW.O?N.02/R5Z1$!F">7M7?MNKTP;(@CUS;]+WGR\(5#8MW
MV!5[=L-ETWL0(:Y&B)</ID:$N!8AHI@\HL3G4P)A4UP(\?(9P(@05R)$"A$B
M'H1 T!0;0L"@.R+$YQ,B2@E E/A\2B!LB@TA2$2(.!""1L;U62D1OS(7L4S<
MN?#&N:,DG!?#>-$.LN._9SO(^V41^Y(D?LU5]"4'_=WX^F63^RN2^#4WPU<<
M\\VR]=@VX1S\WP_RQY^K1Y>F]T?S:7*V [Y;T11$6UC'F[-)^/>E/'M/$Y>7
M]-<H_X+L'\W/>\  J:F(^U\:.G5/4_'&O09,VK:M1$67(TY F/=AJN/W<5_L
M9-V)AM^531^FY"*J?P,=9V\'&*+W#6@V'Z7WWC:=:!K"S3J'<X$T&,3EKVLP
M,2KF]'XI>-SLBD#O/*K-+7-#%CQQ%8907,0.9])Y;ID?$#J<726Z978XV,F<
M@+58SJ$NW5SEN9)L^;*S242EYVA4;.'BI>=NKY;"=SG5,2J50)#;6@G492O'
MC>OS7%YI"6U!9T2#,GJJY62O5XEEPC2'WMQOM/'\ B<V6LW:;+J:1,/]?C1Q
M7),3U6'Y8H<S7K0PW"<BPX5K_IX/)-Y4 V[#4=Z0#*HSH8>[.)$+Q%EW=/8:
M<$?GH27)<5E,,A3N.Q2?&[:['=&&.XQ9" Z7JW"/H"$6QRM>MJX;TAK^H&Y;
MQ:[,:4T7<T*9UW,E:2#0G'P];2$E<IM.N68H8GL=#,:I#&94^U!;".NVD<R+
M)YDA4/@*!R1>MBP; H4_*[OFMJ;*&!]:+7Q)#PNS"O-@MEO7*[NV$2D)*]2D
MKKA1,X&^XJ9ZWPM+D<#2_G?LRV5BXQ>2^D.'2D@DP #[+B43J':)47AZY-ZY
MA]OC(^\2ENK! EF>O%;1\8<?<K%\S;-58G_\(3HA")VK=_/GZEUB[7]^*A"]
M?RH0?6%_ 55^F"Q%6>X;I$=27*MB5,KEC]@)%SH;N3X<Y3/LP#!$=ETEZ]1D
M0O 37F+"XO*7K +]W< %':*'T.6CS@?*H],]8H1S^+S8:!#9*C.O;C[BA+P0
MJ/ACA5UNB$):*%?;[:X@F*6\#D$%>BFH2_HHOANJH$,-$:J<P7O1H6V,R&O)
M!=[3.FZ:3BI2._B(]^)"P**I>-X>S9,9H[VL=+(3:M[$.0@LH9N#?E%?^<J)
M)!W;D\V$?<+[H8?3GO@+>D%^7ML-@CS&L4@^.;LSY,N[C2\%PV_)1RD0S:"1
M=#,&7I[Q3;J :3V3X/\ BW7+5GZ%R' A-*8RQ6*OCN<5D03S+MEXIJP;@<2B
MU)5ODKIR;O]4K'#ERF=6WZ9WZEP8\QQ:YN:DEVE7A:[8\^VYU] FV6$ H87]
M\0]Y?(00 I:OE?AR=M]4K)#EEC26J[BC+JZIM#BJMZ 7G:F@]Y8%7[&Z3(;3
M )R$:3,4A])FOF+:S,LB>'9/5=P&>#,8<RWGU,5AAIRP[DI.U6Q\7LBLVA(^
ML *K"6 FRL))LB\>!/]ELG# 5"7D.9 $;\_3I"H)STZHLF.!IZ%,&Y1I<WN9
M-K>$J5?U-.V\_L]!,^?8\S?@?%3\S6L >MC*6W"VA,E4TO!6"X'4M=*2)C<E
ML\]+2>AX>C'1$8$-2HA""5&W[7*Z-MBTNUJ1&DS\N=&KJ]U*5M7YQ0H>B0A=
M40AM4(;45\B00DG$*",'9>1\1:?'M9?+*JL)XW6N5#78J6EY/BWG'VRX7$(?
M"/EB4/@K9^CLE7JIRLYXFJ!0I9=K)=L<(A8%$$NQ?7@.\Z?@\65+P7SZ6#]E
M@^>5'"8KQ6VV6]1F:<B;^D.[C[>8G'OV(A"_A=9@S?+#RBA/XLNB79BNC7R;
M"N"AYV&^S24W:R!L^5V"RJ?+V_5JR7SZ4#^[V,RU7"6RL=YDUK)4,LJ]4;'N
MV<UR<GCV&A//T:7LS1NK0C#A#96O5DES,LL3BP"@"_OCGR3*N+E^QLVGR]L5
M:]%\^EAO56UY*3\G:-&-$M]>-0QUY"@;D\VLZ/+U:E)8#7_F)TON1)!'UKHY
M-M1*B>8!H*"DFT],NOET2;MB,9M/'^NMHLHKSBEK(#N$-]FL#=*9L>+#JKI*
MUZY7!,MZF'A^=\CF#=44'ZK9LK/,#9H 6+9I-AS[JI?I;T\&?!!;T0>]AW35
M+5^.M*VSLR-<*O3)YL!O1;$'8PGU:>))J>[ O6&)\#S<73+/>!IN-PN9"6X?
M.[4#+:R_$ZB.FK!L+P$X G1--B%W1 ^ N\ZF*OCGJ"HV!QV>)A:AM]%-@*>X
ML)ZTD@"" %LYT?XU^"!%=\?@T> W5UW(#GBLN;D/9^\SY@I,#V^:QQOK$A/'
MGB?D)\EZPR:]J0S'F]#G .K K%I@J."YX!.8%O!42P-WNYX+[@HG#C *Z!&<
M"/ I=,6'[W%W,N^&A(GNA3V"4WGJ]?<78[U+B$@DWS5_#MXV?M%AS^P[[!EI
MP94I3@N*@:![M*JK SL][01'@*1J<.Y:ZL)VX)1G(V[S';4#WI,V 5QMX6@D
M<>2P3O8'<P+W*WC@BC.&H:@@0F8PC:K">R^TDV SXD="!3"W #WP'%\]V_H3
M?MVOM_Y[Z3Z@"1"NA2EO?NF6J5LJ-H+C/6!_>,]V]>6BVT?GZW#X($!>L'R8
MQT, $(_?1S7B0W;8D@K(WI966PZW8"GZ+=-_&BX<82@06+BNRM8&,C61_+=[
M()L W/82)H&$OU%#<*-)D')**J\+/=XTYD2)[!=ZRDCG^)<C6F\4D*?%O5C+
M':SNF*N.X0H/#TX'>/U<EH"0 J6A/HF$":Z[6Y*YCVL['@E3378<*=<9DNUR
MIC;$U95EU ;Z*(O[VH]_P@7B:&'?(_MV#MQ?B:RNZ7!#=%;VY$0;GLD>SNY?
M<,I)_-_9;#O\1/S[YUVBO;%L15V'3,-K(?!\WC)RBEU ;W=# PNBO=(5T &^
MF%#@X "*AXL?9 W0@94^5MT[>+"$"58,."E@E1T[:K1L &G08?9M>.L=&#%8
M1W_SB_)T";Q*-C7;T;WIW V7;1VL*6,P&+!H.&[4&C2:@VDT 9<L3'L3=A9>
MUP';:5'_[A//1P.8R7X:DIP IJP&C\:+AJ9:8%)4,*F0M/X"4OEQB'#),GUE
MUV/86<N-.!*\Z2ZZ.-[R^?;K=*/IJJ7N?GQ<*Y]: +ILV>JQT7QAZC!N%XUR
M+KM >XE^ \27M7"!C1>[[/CYB&6@2F$IX*'.)@' W8/3!10(V7N:/3<Q5Q5H
M>4%%!@HSI)^=\%T52BW00R*Q"L=O.YIL@7Z'* 44'- \#' &@$]"#@$O7CBZ
MZL%3+:(9@PSBAARY99[]Z_&:Q2T2O&<6'YN )QOJ5D^;SP%@C_<TKP6P/X'"
M$FK1X45PVT1UX8F@0!RBV8-:W?9L4*AF@QG4U$B<P+KL.?K(]]0(T4'/0(.9
M[3O@;ATJA;"5:X^AA@UI*8/>3DQ?!91QP--MQU0PL&ZKD8C;8.[!,@(H K\"
MAC8W#VI",^T1N-U2 R#F4X 2D&I_ 5I:WAU0Y$=W0% 5W0[OZ71_'K]R=]-]
M(C8TY4-S,M3+(37AB@$0<VMZ/%^0'76E KT-<+^;T !D.*%"'6KRD+&!,K2E
MW58#;TP!K18+@%8 #8L6F *PK#AZHB);!OB8 1.K@/_S*L G:P.:N(ZLFG<)
MN(2#!X?6N;LS<797RX"!%'L>+[%X/E/CJ:Y.]@P3J".$A]O.90.(]V[!S=2S
MU=V*"R<5#A,H"CHT =?JV(>'@X7"HGN>JD;B%"&\&C6.WO/4UIX 2JK.W=Z/
M3YUX_'$WHU&#B6X!@()<NFV0^ NN3HX^_QFO21;OV_>)/,\W@#C)T.1P(0(K
MB='F)+?"R0VM\95L IM-?<(LU0F7Q##M!,JW&7(N+/_B L0 RVCX#/+?K@_,
M<-E-J'.X=JN0BR%XJXZWB29Q;^H >,N+<!5X?$I"\<-%.H0M"]B-9F+D*YKZ
MJ(M#FWT,ED[X'3P8W *U!J#JMK:"!F3#@5Z"!L!"/4*ZR-^T*U@38FO(6*'^
M$?T6UJJY3S3VA@GZY)M>I$=OH4U5[J! ZVH /X6K>#2K2B)T-IB;\.+2EQW
M#. ;F&:X[LOAF**!'(P"SC70$OQH"L+7P4XMHK[O2 9>Y;H0U\%#'-4# .U"
M4UZW5FKDH[\+WP(L\$AYVTG.UCX'"*J%B@^T8%2@N( 'ZA/PI*6O@Z['BV'A
MZN];$7F!3C76GW$LT/E.ZMF/&GM(KQ 4@.$ .=&;VB[0-X!-#%:[2,4(?_;G
M<ZA. -S>A_,3[W]R9CQY"<!W15_M_H(_N^D;FZKL0#?S=#O01X_QGIF+X_^Z
MB%_X\, TDGZ*8V]GF$A%8WGJ^W_M=_[)[8T!M=]V?NU\VWNCFD;F,QFZN35@
MSP.+P,#D"7CQ+]D,Y(V['27'W9./>[!^/?K'X3PDF'N.^U?BZ2.<C:.IG,MK
M;&_"#A+EHKMVET)_^.Z:[>I0"GY%:M%*A<\^>&I(%<]>_"*)^Y AP=?MJ CZ
MGKX0F5[PE@![PH'&]']WZIF3#JW?^3"VEZ [%>K4@)4SD2;G/KJWY'\N(][O
M/INO6*O5LWR'3Q1KF?L$7\LFVF*Z7<P6^591:#^>T_?Y':W5.T([T:F#Q;"6
M%6IM(0L_M>N5(N@^^)(KUOA:ILA7$NT.N% 5:IUK=C_B'O*)>UX:RU^B)0/3
M%NB /Y].0GP=LD(1PPC\_HEQMS+V=/%0-H^$+OH1F'_COV"+Q/\FR/#.G\_$
M\4"J#Q)BHQ=&EW[S^)V$RJ''1QIQY$3E4F.)4R:X1-,I1I(9:B(1#*/@,L'A
M7)+]$<F$_)ABW&@,:WV_-10S0WLAEZ>ENI\,H#/K><M::>.-R;1CB?E&SF#&
ME#9H.TW0DGG>,M6L=9+&=&0*Y<6B&DS*Y'AE-"52PI^WI%W)J3:58DHD5T)>
M?WBH468CD*CCEG/278DS2IH:,E^O]PB!-<<MV/*HGVW?$PN2)*2%Y:@C-R82
M-\@S/&AYU$\"+Y)\S_?R0MOVQ %6*]<Z*7C0P]';<W1/H12L/37F CF:)G-2
MZZ$':R4>M<3RR6$68V4-9YF6-4\%I.Q8L-C.4<M1,!?-F6GTA#+.&?7Y)#FR
M^K#ET8BDI%5=#J;3GK#LMU-&H=?(C'P>M#P<D:00(YR@2%;B1I.11(_&-*"_
MPDHRQW(C%OQ(,MS1'&S2*ZY"5ZK&)K^L;];%!=^IGZ2_UDV-+&&>61OE0I=Q
MA?*#E@*<0L*,R<.6E<4\7:$'9@[?),'31GACXQ0@_8^XSS&47'FV;E8,?2UM
M!(.WJJ2C@99'_:RD_-:&FSP$>!DO>,E@8%(&QX.6!/&\Z9*CIL5R(3L0L9S5
M\:V@.+4[_"FF2BNSQ6(5C ;"IC*OJ[U2J="7M5-,->ULM'FCJK7%N9\BA%G1
MV'3#ED=,M4E.M%'?F\_Q34-MJ].)3S?Q)FAY-"1.F3Y@JT:M@/OI27(^G3RP
M8A&R]/&0G+4[7I;+.&;HG<ET7@ZX1C73/,6IY17%%4O=^E# >FH]:&3*J6"E
MG>)4O.71[C3#E(!$L4VFGND+A<5)3DVU:EEN4NFP.(;W)IV23O*<%TC)XY8,
M537;3"J=-);915LDYLF97(?1Y*.62YE2U]BR+N)SK[D9K')+F<2V&7+/Y"0U
M4LCUNKT0U?ZP9':\5HG%M"CUY;!EG_0:G=5:9065*F]:=3-5&WI-*77\=ID.
M*DV+PBF!]1[&WIH4BCK-@Y;'J)>2C/9&=FQQN9969,%N*9,'V/*(\$[&&J5*
MJX#$V6!169FZ8U0& 6AY1/@&F<+*:T9.&A@NLND6-<Q5" VT?$9X*362)RF5
M2DG@/P#H# =$>TR![B=3'*LH (-31T-;3TKKH$2M75$G*<EDI56?'VJG!+IO
M>MBFDBTLA/:\1<_446O5#<7TF/NK19R;!G57S*^*9&DZ[6:K-2CZ1Y/0; R)
M#I/*%8TET?!2M#))Y=7F*8'.I16ZR3H33-39'+G)M!XL,G=:H"V-7*O*(CL3
MEXU40UEVO56?.BG09E 8I);%PL9H5V96T*R4L95P4J"=H5N=C56>Q#/IOC5<
M^;V<N0E."73'4.O,3)\1(F9U*U)[O?36X7IR-*11WA<-,BG*^))QE_9ZW"_7
M\-,"C>=6DW))4 VQ#N"A5R4GT^R#=DJ@Z[:WSE+9:1*OLVT%,Y)T/D4U3PFT
MW7D@F5Z_"Q;39'))SJ5,846=%.A5T5_W6NR<%^I)WTM.Z+3N3K53 KV>5,?V
M)HV;>"_54'-&9YSQ:L$I@79TT?,>R-J#V&9X@_)*);<D-D\)M+2<=,GEV%(-
MLM!GC=)0G7$3_I28UCBR7UQ3JZX!EC]WM,(W[(8[*:::I1D;,A!P89EKK4>=
M6087I\U38CH?D7I7)V<98SX@K$5G-'!70^V4F,[SR7$A0\BJF+?-]/"!8>HC
MX4!,G\7W7PYB[X+3[PAEPV%>.#C?4F%T5S?U\%'U">^ZJN?"#6W;P&+'SNRE
M0AQ'[*7>@%P[DB;B;'I&$5-!+IDK[4(Q^'<GDD"7RM:-%'HZ=M&R<)30?1J%
M/&$N2>06&6WWEKE3%?JJW(07EH,^2 ?9WNU.[<#:N5/"6&QBI)IV 'VAT.OB
MN[*EN#]_G<DP(EX?_U%*X$O)(8?NF??DBT1CW?E,HKQ &":5%Z[Z:_=AO^N0
M+%L/ S2<MN&6 VM+]CW[T-0*KQR81\?6T;%/R7-V'=NY-**)>-LV2)9\:9/U
MGMFV]W ;/' "R+Z;LMUW#*95_HK<0S":_ZIG9DN) X-/'KDPY/[<X#MW'E'D
M(KO'F=,I+'OWO2/Q;L]!^+&D5/*>>7'S.Z++Y]"%N$?R$DNZT&'".B),W B#
M@"R>=$% %E.Z(""[*&'>623D92'YO!EXA^ER6?R^2*3T< I>BG9%U8F._SZ%
MOK:C!S8:G)+_^T'^^%/)9._I>!48/1TH?/OD'52288ZF##$,8IC#R<NJXW '
MWV/UH?]W.&U_ *Z?>E3$\?"CD] B;]>OLTE#S 9YOI)N]Y] PM@OF5L5+EX%
M_7_'!6?C!<3IB--OBM-C9@G\GI79\!79;/LFM+/X,^TKGH_+H]*9JE:\[">X
M4LVL_7%=MFP6<UR/(NV[<->,N]L0&M:C@,>T2%G%W1:;< E.5O!A7C<VA=:Z
MXO-5S[$_<DI!%"X^=9[E0](>]K'4RBC;%<_&NF32EV#6!#Q6 "?ODN1QC3TD
MTDBDOY]($^3O:\R\1::;PW5I,\Q/ZL+<;Z4];+'PF\%'"FG^5J:MN506AS7<
M%/)^4 WZF<QRUH.IC>R/?U+$'<.]=)CD+9O#D=*QW75SJ^;!C0!7;(A^;J,I
MEN9!G-66K;QM8:X1\$9+4]HE _-\<U5@N*:^^D@!OM_"7(WTN'&];(I&N=>S
MYT)QO6EW HD.2P/?)>D+*BX($A D?!-(^#.UYQ 3DD3=8 I68.+SGIGM9&2]
MM,A<1/5A.Q.?JG7:66/ILRE^F,LLAS6("6R(":GC^ILWZUO9;BC^C^LOCD4_
M>0\:_CLL9+4+N,, .-Q-&H+"X;C 9;@)C_@)$,%?(/ONG)@8FV-QK@"0\0D:
MWI0"M97D+5C:#M-UV4&ZAK<WN<"ELKU-6K^( M5S,F(W2V&*D>^MNBR=3+<R
MTT!B0M]/$FA0QT?W(FA T("@X8J*U"$V&)OBF'6YBFDLUX/<I*5P6#E_$;^P
MVMYD>2>;K!J9?L')*M-ZHZ!!;&!#;,"3QZ= ?@T?$BQ9\)A3L;^E"AF/US8>
M/[V4^96<YW$<>@P \TF7VMB\Q>JDV\3GA-N6*MS8[<XN8C_JHR+M4&J3$LJ5
M.0E>0Z6$![@W%ZI$)'-'$B]9D @8$# @8+BF)E7E5(+HU\BT49;Z5&69Y%RN
M^I%3&7X?*.>-1NW_L_>FW:GK3K[P^_LIO'9WW[7WTY"VS;Q/W[,6\PQA"B%O
M6,(68# V\<"03_^H))LAD!F"D[A7__<)1LB2JNJGJE*I*I_ 8;[<P850)YON
MY05([@(*D1 *A,.)ES2BTQ9@\,8=XT^Y+WY$Y';RDOU__ZOL3PO^_@OY&A6)
M?'UM0,Y-5E[A\<5R??B*1'UCM( ;XUC;*77 BD'0$6_SUTJL;JS[+J>2@Y-M
MF;;2])T2!\<26^[=7W=2+5X1OGKSA>Z/;0A[G+"3B8[2"@815-%:MZV_0V6%
MY6/DV[EUXV;68URX;Q:\=ZS,OWG$C?DTI,8/$)$Z//=Q^A%D'HC,>7+\;_+C
MN;SGYCU@^6"YD:[+2T6%+*Z<*WR?/;3__,+^LLB;MH"\L]J;32"ZDZE_T!CJ
M]5XJ'NT@>3SKWRR%TB@WVN3_^)(N@U,NSS6.I^+BG3H5.WPSV1RN@DMM^>M?
M\>J8WGSPX#*LS9'>53?1[FY]'K<F#R;;D+Q?PSI"]XJ#NR57F[WQ8-?_=/#^
MWM@M>@V[6_NJ!>SDBDDK1$G('$-"9@DK"R  S36-YTAA-9Y8=23VLVT6:OH5
MI#Z>L\S)5-DFO05M$P?=QC(>8L.@R8+=]-!N"0I(I@SO>H8CCV>;%9SU<^Z?
M/DHG_,EICFA1MM8V[_'F>VU4)#BXFP#)?"D#4CJCFKD18?[L_7UC$JW'9+%=
M:APF>CK>[JPUB]Z5+VDWE1'D.#(WVJVB;>J"4$QC'+:;/MKAETW!+$Z!U?0S
M(GW%C$A/H68X[E_)?YZ9WN#(.EUN$9\HWB.*X!/%@T3A?:IXCRH^?GF0*#Y^
M>9$H/GYYD"H^?GF0*#Y^>9$H/GYYD"H^?GF0*#Y^>9$H/GYY)B7E\[[('Q#+
MYN&4G+NG631GWAL79)-T4!#>FW4PPGOJBL!'4PZVQP;&7)5\,3:Y[)'#XP]E
M(/1EZ4NEZCQ1BE+ALA(BO%U"S@@Y[U<(OA'*T.1J)^&M3]B<OCSO^.+GB]^>
M^&W2#'T%$3SQW#\G%?6%9>[$:^;F:_#YQ>>75QD1< /UO8;"<S%!%[AJNQ<,
M%;L2W95RHK^"[-%S2]7$"ZS9V#R-Z'CFMC%[Q>ENVWMN:B>Y#<?_O.1++T33
MOBL#Y9V6F)<2D6&_4]93U3Q:W\?$ZX]D#W"$$H)PTV3L,/6N8HW3MDGHB8WL
M"JZO$+K I3KR_W(;K8[<K+LV,L/U/"0L._?MAUNCS]_=/C1&+ 5MA _$0\^E
M&O!1P$<!'P7>FI!-ZB1KR4X_7>;S:[E2BE=S86-]>22(M\N)X;18O<O6,2HN
MEHFUJ(:=Q+5B@!?.D]'Q(A?OWU0+X.(>5Q]1?$1YX9KA+!<9QXHU<8K66MJ\
M3_1NU.A'+N*?!E'4P0,_O>W,A6D+AP4U63'T)0^Z18+H%H$(?YYL'CZB^(CB
M(\KS]_XN# S9X)BW[P3Y;FJG9X-Z,H?O9M:2C%L0"3+$ Z%GDQ^>QA'C?:]+
M1C$P)*N88Z"Q-B*$-RV3.VG.6>YWZ(1Y9W_XT;@'CJF\O3[>.H/R'%I[PZ_$
M8*?NHDX:0.<(AH]&UXOV6(LT^'JT51R9U5L\D)*L $!(" B\>";M[F>+D \Q
M/L1\"Z?5*V%FW<7AYF!5LSI!8=4NR9%>M%@?L9H"0B </9=[VC<8?=CQ8>?[
M>;9>"3LUN]SK$&VFFVU50Y'TN+BLWMF@W23 &1X1GTLWZ</.-X*=+[9@/@Y]
MKC_LE7 B*IU@ZK;+][)*J8A*Q>O[;$P +08<7J%(@$\\9RW]X,BCO*&;)J1E
M&RK6EST<\#9D>.XLX'2A&/Z!@#==3%2JKZE0'P'+8JW,=X:MZQ!?-ZK->K"M
M+1/)I%,9*1&(G4WY\J'!AP8?&B[O&GH>'NSV;:+7"UNM3G"P*.*[#.IW*R-6
M'"D2.9?7V8\I\!Q8>!\_?9#QKB/H>9 I6(.>-;N/)K/K='8E/"23X^I]@X ,
M]?\DGBW YL/,MX.9+[9&/NZ<W?'S/'STY(=F-%(9%K(MJ8+O[V]E%+H#'07\
M/6(H(#ZKI_R4 *<65B&7/$V:C^29HBFF9=!\/AQ>S;%FXI-&.XE_N-]A/]KI
MFSCG/]=4]'WJ'G<I.5B2QQHVD)K4Y.0>H&09GAR!ZGHI'*M9N6FW@XWB_6HP
M6(2TJ%MT4@A$$N>IP^V#QZ5ER@>/KP4>9W8ZO1M Y(E97Z#;4G<ZLZJ]8D%:
MS7OE!JM-*<:C7Q0]OIC%<_E  6^OCP]#7\0M]6X8TI?V?2G86Y<Z=E*Z'<PF
MA44Q!R5R$[_^#06$LUVV\X'(8T#TQ1;,1Z;/=5R]&V"J^=ERIA63#UFQU(LD
M1G@]#M; 4 *?EA .).+/0<P/CF%R:U-N+_*Q H!?]L3 VX#B+XE_'O!%G%:;
MN-$B!82*;AX+'JUV!_?W8<'6LM&Q<".M0U&YW6_T8^"AB@>$4.3[G$5Z6XS\
M)?&1Y0MYM%Z'+O)-K(AO1^(-G[\MY;.=55_L&4F"+N"^BI[+?>6?X?M@\PW
MYF"1N-^>19LS.ZZ.HPU9-=+3$=A9=.<Y/B6U;K*S];RSFJ6ZS7H/E)H$,2:/
M1'C_\7'G&^/.%ULC[P'1I;6>D[NI7J>\U,K!66YBW>2SW;YP4RSG^'6RO"0H
M CZI>$",^6%6O_XM0BIT;%J.VRG :?A$=^E^MCIR><>U'\+PQ72P,_J27"EG
M>.FX\6NZMO$ZU_"Q2-6(;06M?G:UXO,I\:YHM?)K/;[LQVGXDQ@[EQ[F(X>/
M'!='CD.E*?@UN/N+J<N7/Q/W]OKX8N*+B2?$Y(LMF,?EYN**Z<F-\G?JF)5D
MIC,N#VXJ4S%3+Z5S+>E.[(Z(CDDC1YY7,G]PW A;9>ZWJIOF'VZ ":$PI,(!
MX2*\0SXZ%CUGH=47+<[E_<WYZ)+LPTZ(P(ZLVP,5>T)_/V,N_8O/V\L^4*_X
M 5Q_J9ND7]%L0@?'H:IK9HHB"6O7!N3(KBP#$<HJ&C+613)VDV Z3-S0::R@
M"_M'H%UZF/2F"?X^Q^>+@[*8Z[<2JU"CGV"Q*6+T&Z7C\&'*AZD?!E-G#E#Y
M7*BZSU6%S')0BT[M.VG2U,:K5EY/$JCR UU\Y/*1ZRL8M-Z)=CDO=#T9-5-+
M=-K#%/F'7^="[0=Q,(V4PX!A?M2,#V(^B'T%]>L,3KG/U*(6)DK>A@HEF1<?
MS$Q$+F"3-P&!6,1-*/%<<E;JS/L?"Q%>. -.3&S34H;K/3?;OA2\ !6LX<:9
M_ ;TH%-R>W787R)KB>8F_NO^L3OT*.G;R5PT0ZL@Y1]M,P+J,T2VI;L/*!>S
M)WM^Q5U'(VL#3USA)-+Y"YRG[L#<5$EL(5Z4^E>$.,G*XDCG.NEPJ.I+=\G<
MST& CK\# Z-I<$D6Z9^Y;BK (G\-K-+;AX_Z="A!7^PV10-35VT+/YKEJ6W\
M9UCE#9L*F<OFW_.=EOE4^"0J"#X5O$ %WB>#!\C@0Y(7J.!#DB>HX$.2%\C@
M0Y(7J.!#DB>HX$.2%\C@0Y(7J.!#DB>HX$/2"<GP^LC(3[FK^.HI?]JAS)DC
MS ]=RX.]/I>,B0>Z*F\NU1S^^[__,]B?JZ2KL #_[Y<@_'KGQ"/>"HR6,!PG
MO&&MVF,#8ZY*OAB;7%:3L<Q5D2&-N9 0X$1>#.\OFB\(E[]J\>H)'Y#[C2NP
M$0_QO=(A>.#ZW4>D(Y-I'8"&)_GBW #Y8SG "<O[HESP-*%](N\0V0E@\HG\
MG8G<UBVD?EB;^0*WF\B;FWB!-?N+WE-Z@L&_9,*E@[F<,13LXI%>GQ;F%=X-
M\PJ_[S(0&H4GM4S$3DU;=G8R0/-R6^ _$AOFR)P;& 93[RK6.&V;A)C8R*XD
MU0:B)$V3# W+;;0Z$O,UOUV)P_4HE,W>%[.)V[N0D51:(Y@L*\C-?Y,,M+Z0
M^T)^+B'?OTHS*FL)WE2O$UFQE4_%UZUF)M']2#SZ:03]1NZ)J7BRS6=G<Z$>
M'5:S-U:X028<)8(>B'^GJK?>\M#X^/#3\6'_OHHR68[7]7DNW^E6@]W0L%8O
M3^*-B^-#<#5*2XF6>3\M6\V15AI*M=9H22:<^/5O.) 0XSX^^/C@X\.K\4%.
M+JHKN3H-3M%$#W5CW?LFFEU>#;!,,5B[GQ12?#"2S=[THN.LU0$U@%:OC@8B
M_',U43UV'/-.;T5&,;"T6[-'TDWKI.6HA3_<[] 7+4?M%4ST3%HY3RR(MXY]
MO06UWO#',%39Y+9. Z8<2U4PC6;,^D0S^?IZI%<&=[5Q+KOLAZG#)100PH<I
MLWP$\1'$1Q"/(,B9G3VO1)%1<9@OX?N'"A\=99:WA:#2FCZ,"(I0;T[XV=SX
M/HCX(.*#R'?V"+T21/3F,K5:B=UI)Q@*7]_?EL?WHWF#@$B"F((!,?)5RTI[
M3&9\$/%!Y')NHU=B@9I20]%F5\YG43(\ULL=S30$P *:QS<:B$=?3/[Q'0-;
M\H9NFI"8=ZB<J*Z.[^_VU\!WEGO2@T.%_9K*^A&$'"]TJ9/K+Q^RL^M9N;T,
M1N1\==2/@.,F&HA$_ ,R'S!\P/ >8)S98?,\:#0>:JH>+EGE:;#4TL(A)9]8
M#!L$-**__GT^GYH/&3YD^)#Q+=TSST-&O[(H#FZGS3(?S4VKB_YH5;KM F10
MKTPTYNL9/FCXH/%5W3'/R[ZP%E'UICU^Z$1MH9A09_E<O[PDL@]>F$0@&GHN
M&O][!.>T,$U3RQ$Z<DB>*9IB6@9-^L!A5I3JI)$ZXA_N=]B/U/&]V[YWVULZ
MV!G]/ [$Y+&&#:0F-3FYAS-.[;LC\)RXFS1#U>O.C*\_S.Q..MV\5QX:_2BX
M@"*!6.)<=Z5^F 3YD.)#RA?T!+T;5O+-\6TVE(K(G5E;:72KIE#@>TL"*Q#,
M(X9\4/%!Q0<5KX+*F7U%[P:50C*IRH-,M-S)Y[/C4"HS:BGQ) $5ZD8*Q?TP
M8Q]6?%CYXMZD=Z.#D.Z$)D;*LJ9H$ ^7YO$.WXV")>.4^GDV[<.WC?9QT'WG
M9A@KPNT[V'T'N^]@O[2F=4:/T"8\<EMP[9B=-DM/^)F4O)[F<VIV?G/=6S^@
M43\&[I]8]%QVFB\R_AKXL.%9K\_KH&.H5Y58*-SJ\^71**+?Y1JM<AJ@ PI4
MQ[Y1@6J/B8V_!CYT>-:W\SKH:,^FR9QDV U>L:?-U#1CR-%X@T '.'(2?MHN
M'SI\Z/BJ_IO7(4"_,UMK850P^?+RH2%TXG=W*QZ4!WHW*Q */7=1\WM$!;E5
MJ[G?S"/SQPT&"G :/M'-K!\FV[[G^DMYK@'M?GM64SJC;\85?0:1CDN[IFL;
M)VT-'PNE+ =;);6Z6G9Y>Y@-U<U%>W(M+_MQ<-;$#[W;?WP,\3'DNV/(8^TI
MZ#.]S_0_C>D]NX>>V=OPRGV4+"'I^LB&N@@OFGHM6VQW\MV,OE#D235U!QMJ
M@A@A?C")CRP_#EDNH)*?W /Q3NUZ7+L+%;NS9J*3SJ_MQFPMKQKW#0(&-'[D
M,(7PGQ\0/<*6D!M@LOP8<L: C!".(!^=.!+.0JLO6B3)@^!P= WVX2)$X$+6
M[8&*/PTO]A;IC(G5+S[1[Z!RG=5MX7ITW8SMBF83(C@N7UTS4Q0H6+LV $-V
M91F(D%71D+$NDK&;!(AAXH9.P_Q<K#Z6UKV_&L^OC2">VOJ\J2^M9"P['_43
MU-L1]J^,^QCD8Y!',>C,\2F?BT/\;2,5'*]N$-^ZOBL69X4'JRLT" [Y<2X^
M#ODXY&4<.KO[Z3-QJ-=92_E1J9[H=!N%>U$>#?GD.$EPB ;-G"NQL8]#WA1/
M'X<NC4-G\%M])IS<W%U/XL5:'_'YYBB1R)D/?'()YA6+P D++Q;-^A\+$48X
ME=3OT'EBFY8R7)\<".AXW2X<QI;(0J&YB?^Z?_QS K'<N'9W'KDY>^@@@BI:
MZ[;U=ZBLL'QLZJY,;KS%[BKL>QG?.U:65^A(^J"GX2%^(."_A3^/,><1 AR0
M[+W+RCY"1V141*!4]L2I3N\\>K(*&A$(4S')\R$GLQ:0B4G1G \J(DO,F@8X
M79)L,FII[3Z0D84X"8,@<6/R"+H=8DR^D53=)C/'QD*1Z&? #HUT+MW;A"$I
M!+F=X#EYE4*EF*6!FNED[1_H@P!'A'B!5?)?K&(BVS,"7!*3>.AU-K?AY>Z+
MZ.]->SY7%7BK@0GU'K#,_1XA1?O#J9#=F[EHEP3MZ*A @$E3  ]":$ZR#0/#
M% V\0*K-1K7S<^A4,FS%HC<'V1K"2W5K3,;AK-HF<Y4U1F3.!@:','0,*\M<
MQ< *VV%;.J?;9)V=XG[FU48T#Q#%%]33"JKH-4%]34:T':F=HS5L:+2Y@56B
M]\L.6Q*>8R4B04YFBFDRH1GHFFV"=%!9L71I&AP@D_YJ!MU3EO^'(Q2?8I!H
MTE"FBVS2#V0L,H8!##$(BB-S[IO=$?[#:61=-OQ-]EF,#&F\U];4A]82A$/&
M1,+U.94HMX/ ]FO3'IB2H<P=H8?L_)A.!K%9PV+8*M%@+ =\]L]B)")VBD6%
M%^_*ZJ.UU<D<QQAMI^#+X*?)8,AK,EBDHD-Z)BI>4$+F>"MZ9&*$CUT!G)&-
M05W3W7-G&POL[6'PK83FBN5L1D?Y?KN3/"62[A"\Q)??FRW#WX M/\!-LK)P
M)[=#8\&9^_^0K_]US:":3;0616*?)6:=(<<N8NWHOSL]2BK9$,#P'C]BJ1#T
MO\,>YS"6F<KJVE!B>&LJ.^:RR#-[;COV_[,[^*TO ,1+-_ZZ!O_.K)R<I")E
MJQ$.#H@R.@VB(7GQ7Z0NT=IT9AF/7XGAK1BXHX)UX")7\?A_<=L_MPN_1YQ5
M<&?!]D(9V*_<1]1)X#[3F1K^EV['9 >$OH^37!2NHB#HY*.;:35\%3X3F79<
M&/ _84N4_T7<V #GPW^TZ^FC1N^+ M2F $G$(LWL$7/#_8B9P6=F-6<B@[VW
M.(,<Z*H,,EZKU3/)=I(KUM)77+*6X5J=5*N8*2:;Q6SK?_]GX)6!UNKM;(MK
MU[ETO9;)UEK9#/S5JE>*9/CD0ZY82];2Q62%:[7)@VJVUO[,X3/N$;?<\]Q<
M?G<T1%1EHI7^V0SQ%9!%12PH\%<[^R"3L>W#?=D\$#KV)=FDI-_0@OMO3J2_
M_/-('/>D>B]DR7!R'\.C)[IW)111!U>?3\2&<B(A]B41Q_KA05CH#\18I!\9
M\B+Y/Q25H_PO)A/(=8D-DG9UWFM5RIV6N.#'HV D4TV.P/GWN*4X34;F]D@0
MI^E"L#RL)'(C-!_UQ<.62C!K%,3QL)5=9_5)==W)9P;#93]TV'(QGPO&?;A=
MFW;ECI":]];19#Y)6D8>MPP51+FHE=.+SJPC+ZQXKJ<ODU#8[&!&RHK/+:(2
M;V91KB+D!]+= ]*3I.7!VV.=5CIEXDBATYK<H52U+DYB2:CA?/CV5*W5N$V4
M2ATQ_( KRN2F8I2A:-#!VW%_*.3ZBCWF12$\Z%FWTT93@'QM!RWGV0==G\ST
M;+:NU!_:U\E:;5R&ZX '+44AF RG^,(M7V]TM76FW,KS,8C2.VB9T]N%<&&1
MNNO8F5FHU-,3*;F^[">.K%+TV@Y59Y%Q-EB6)X64M>Z*$VAYL$K=9,R>3J?Z
M+=\-COABJ2)'URMPFNZO4A^%AH-AF">TBX2D?A@+\3XB3\AZA-$ )082'PX]
M[KL8ZDUB>NJFG"WGFM?F_1BW[Z*-8]PWKH<:)3MU,^F(P?C=M+WJ)9>-)6EY
M0*O4<!**8WU2GBJU[JJ;#C;KR_3R&)^6;V*W^+:P'F>[2LA<"X/:K#<&CC[H
MLU"(=<.5DAR:1E?9W*)02]4'[0;ATX-UG=87$?DF.#2RN'(;E7-BV:B5D\=X
MOY(<]\+A]G6=%ZNXV1XW*LJ=>93W:_ILN$B@26B*9REQ-)@@[6Z\/,9]JX$6
MO8XN&Z..W16$2CMUV^O>-HYQG] :9FI".G;3L54]GE[+X99 ).\(]VGS;.LA
M4VP0CNY)=SBT*N"UECS&?;@_095E<AC.HO8L-;S7,SF0O&/<%Q>G?4/J)SJS
M8652KCXL*H2W^P)_V-0(VK&[13VWY(.)FV!7D(?3884 E'#8]*YA=&=6=[3,
MKDOMAV")S^D/*\(CXF'3MA4.K^8/G5+V/H?#ZXJ839A*LB\<H2C*QTM$S8YK
MV7*HTFW7XY-6E]!). (]=N*NHAC)830;14K[7JY8\[Q(FQY07^H-;F;-62TS
M32^[@^9-)Q/7$[2I2_Y'&C?[X: ?%^_JXFUO)O!VA5^:G0D1M]"R#TWA)4_\
M*IU1S=R(6&_9^_O&)%J/R6*[U*"_$GX=4^_W]/]GCX@BNT=$D?X\7@[%1\OB
M,JM88:S@GIX:MY<'&>^D,99M%=>'36(L:S:&XY_LBFSU&E+3KKLT:5F&,K#)
M]MW6<\R1FR;:.7F(S=0ZC_41,?2(@90D.GB;C"^E$J/HESOG2#_?: 7'X7(G
M;2[#-^-XM[?L-GYQV"16.QF+9=CX'%:(:POO!AJ'HH_/+YUYF]2798TQ^9^!
M<7!&NAUS<_(.738Y3'XM<U7J8@L) 0Y6F#GXX#B.&ZRYT681. ./J%-;QF09
MB5)/?LGL0WL.7GEG4>&,2(C]8W*R/E,D1<5_ MP2&YA#,!15U9<FW,XFP]%M
MD[S)_//W1)K=$R=>N\MT<,K[W G8$5?:Z0_%V.N >HZ)!)J?<^JQIRXBV]+W
M=47Z9$^_.U3O#HUBRW 'YMIDC@/E56'VT<A53'CNPLV.ZKG3/SA)AX3T[JJY
MGX/@2?G+3-PE6:<7K<L=_]&F*1J8NDJ$^.1FI7!H5A(=.[(U#9Y@GC>$4>PX
M.3X85G(5>_8BE$^7R]!%\.GB3;KX N--POAT\29=?"#S*%W$JVC,)\S9"//&
M>Z@O*LB76X1/"^]]"<*_U!(0<PT>_K]?D5_O7(Z0<!6)GC]=VHN'&OLK]-RQ
M1LYQ&;3!9<!5P65@<EGJ*]@><_C"X0O'R83#0^D;/BH\U)OV?_]#B/+_A(0
M^\.7&L]+S9$8@KTE8(0\_/>X/(COE0>(D A_*WD G_(^__M<\ HN""6^&Q>$
M3X&"%\CQ\MR<X184T8KHO<F39&RA''[1"X(>1'_A$JOR$NE/<D'P(O1^)-K'
MKP#N3O7<MP ?'?&:AK6]B;P]A44JO84LT1/:-7E9OQ)/#<3T7+6G]06_,->H
M7HO'/G+[>.>P..W<\>DJUM@],,ZNG)L12;@38&*YC5;'JJ9)'5483.U)-IIM
M!.7*J!@J6!#W$_KU;S@>B"?.4U31AXX?!AW@]_OIT/'H O&KH:-N*#A1OIU/
M>;%9:^JR6LHE1A])Y'0:Z&AV8HW%NG-SSR,A/JX/[N?%203"$*'&<RP0CXFG
MR^'_"7;E2X*01AJ2T9>P#+X(TEW>.#J=6O2C@.Q=.E ZV9\:4KG2N!NN.TCM
M+D;=6ZTC]I,7![+54+B]ODZV5_RZD0H/$[/*=<%N]".@ XF!V)G*U?LH\+U0
MX/F3S6^( N]29P@*9(+Y[$!<)W)\7<'#$!_OSV^6E[>$BNGL74HN%-M3I;K.
MI+15'ADSB"R'/&\!47PNT]MW\@^5R4ME?<;Y9MY/,O-.K0_]=%OO72I2/M6?
M\_+:3BWJ5K:LQ>W,K%XHW=F7M_44N67)RH,XS 87LV!S5>KC3@XNTU 5*?PL
M./KPX<.'[RKZ!-V*P$>ALQ01G@<S'5S*-;JAS+(2?+@\?)1N!2TQ[]^%.EU)
M3LWNQFT4B2P)?##=*ISX5IZB]AB3GB !CPJ7AGQC\6L8B]Y? M_5]#H@K%7Z
MW71.3$UB=V$^'9KAZ=VHUK"TRQN9LP&?[;8SA>*TGED_E(IE-.FVX*([U:.$
MZ&$51Q\]?/0X%7KX+JI7HL>-/(O.0[%E;"I*=;&<+X_X^^'EU:@'_J:QL(IZ
M.MMJ7-='\7$ZVD@V"'I0-8H/G5Z-\IB940>ERN2"W-Q0-$F9(Q4R@-%4AUG;
MT.<80<I5YU:\;X%^M@5ZZ1C "SNX+CU]3T'OFQ0W6JV!"O?U5K"91#O%&ZSK
M^%UDV"R+_&P<39OU.QR9-B]_=&@I2C 2KJ)%)UJ)I<3X,E.0^B-6DIOH<Z$S
M'AWZJ.2CTFO\9I>>OJ=0Z4T*X<NHI+9OVE9*;72FR,[F.YUZ)2\M+F]E"J/0
MHC._J<@\[A63A68XA4HZ)$FC>J(@/%<\[PNZVW2+++5O)Y\01"]=].6S8MDO
M/4]/8>,KDY==&-LJF9L'ZS8CJ!U47L_K&5R\7]TF65G02#P0"C]7M\:'!A\:
M7JE(77J>GH*&<Y>^.@TTR,55-Z+VKH/9]2K=,%:+L3*GV5E![8D&(ORK2UH]
M3OG^G1+^?78V2_-X.DM-KNC:J*(LL Q4M?:26!(%W,#(I*G,#Y-9"M&E/>H+
MM\-.NA&W=6'9GX5&GDEF"=,*JC O#M&)039)??@H<R5-7)G!$K4CW*=/9+&D
M*2FAL(&A0 I+TI>?E/*K)J6,A:X283\%TO/,\P:5YH0YPWRZ>)$NO$\73](E
MX=/%DW0A.!;QZ>)%NO!^3DHOTH6GI:E\PG@C)^6+^O&/\+2=>PE><J0]FQ[I
MZ;Q2CQ)GG2"W%$_KN'VAW%$O9]0[V\[^@]A"N!*_5I92U]-SRER+/E1^$:@\
M'S!Z*+;#0ZD7OP10G@\6OQ=3?"P3HX.1%PACWO,KQZY$=V$<1WJ0/?K,?(W"
M)9;"\SL(_]2J7%J,SGW0G?#JQ"]Z\ITT^_7A>_([I@L]TV[?K*L=.Q3&*^EF
M<+>H?B04L*9KDFT8Y+7L?/3(@7=H,:A$UKAJ3Z.-J+TV>M%@IP+%94.__A7X
M0/0\X<=L>_5QY)A_SX/B=/: &>9 \^#,/0 D@OCV=(\QH=Z>F0.K,%7,GM46
ME=6=4?E(X-TKD$09MJJ]6:0\[)1GO4A\.8M8S1H@290BB1 _82Y'WV[]#+O5
M\TOPTL'N%[I\\=)9Z,E#<P[@S'OD/;\1[GD.?^G([PMQ^(NG9%^8Q7^02\$I
M'+Z](_W7]RM\ME_A6^#!D\Z#;XD0OJG\.:;RMQ"-I^WA;RD;WC/^/KI51NE
M3I;NWS?U?%/O"WJNWI'>O[P4>DM]75GSY2BOFP_QP4-&/+,+7!DD@JG[0EKL
MH&RC$!OI)>LFZ22FC09$X2RW07W;UK=MOZ),O]D;382Z,9KW^B,U/>Z4AU9L
MW6XN8NL/991]A5#7NL.;O)SH-J?XIE'JB48AE2PG6;I8(M3/9DG\$=8\4U'V
M$_;[EKQOR7\52]XC>/B._/PH.Q%CHYM4A8]FC4S^-F6.!X4SPR&O6-7Z;2=2
M[]S/)KERL=6^JR23+&EL+'Y&#<=' M]Q\4.@X,VJ$<&"X.I>1=7%NC8M:\W,
MY&XQZC:L,V/!3;RX;$XJ:]114%>VD-(K18TD2P$;YT]8H^C+.&JNQT3LYW-%
M.V&0Y(]&.=];\_7@ZZV:S'6AW\-].2E+R>0TWVGI455/3M>9,WMK$E-^+)M!
M(SNU'XK5=J\:7UXOEBQ=:B@0?1:_?&^-[ZWQO34O"+64CO=M+3R.=EHWA7AL
MWDQT0MF/9.9ZA5!/LG>U:"HTX[-Y,92>9[39(I%8LFRCH4 D=/K0P2_IK2EJ
MLG*Z\R3?-/.=-#_#,GNK:E.L]8>%?%Q]N%W<3:.Z*12J#6,X*9Y9M9G<!\/5
M3"FA3/.1@3C "R'2[CEY2<5 *!KSW32^F\9WTWRV3D30(#7)#!^D&E8Z2!$>
M>I'2LO<0.;-.E!^NVEI=-;/3?+]>O.U-I' QLW12D0;$B/ #'34M0^$J2)OZ
M036^F\9WT[P*O2KEOCI;]F>9Z'UV*I9JTS&^JU1;N8\4OGD%>N5J#7DBE-8B
ML>A*Q?0D:&1F\5%?X&E4C?@<>/E>&M]+XWMI7I#IZV:R:V8[[05O]VK+^W)9
M2@CHS!K)_<U]:8W%@C;MWF;03:<92XUS#9#I*!1.>,X\^4E.&M- 6/6]-+Z7
MQO?2G$6S,:VYT2]6^JL<;]7$]%C+MFZJPGC(A^Q,Z<QGY[V./B]'@[WP=%VQ
MQ8K:+TVK@V1?$&@@C1]'XSMH? ?-IZE#+A!<WRZBQC3ZD.AT[]3NLG5S\[#4
MSZP+W<SBV>YMKY2:YD>-0FY2;R3;\24  008/Y<TY[OZ9O*8K*^V]CTS)]1R
M+IC]QO-+E+CX$GD$+]_J$<ID^U6C%!.J-4/C6Z5IH:,JV:":.;-':-:\'T?Y
M=KV;1>UUQJJHJ\44/$(BJ$[^':NSJDD^CKRL:_E \F8_%$&2ZP<^?XV"9G*:
M'PS7\=8X<UV,G?F</*[%BADC=E?KS&)WZ$;LE9JVT8#A1Y]'DA_AA6(#H16-
M8=TA68OOC/(SOWZFL^K2L_< EKY6*:,%XIV<2FDWI9)3&CXV0]W$>A27^>BD
M4BY,HE9<R9T96V?ZNI\NRE&C8W?$O)@JZHEJF& K2P@;"D1CO._DNKB3Z]("
M=F$GV*6G[P%\>;6N]AS ]-+8""U(K_RLUK^UM)3>3*_/??LLM<ZGYKE1J#.;
M-=/W!3EXWUN. &"B%& B?/Q'.<\$<:NO^;?/SN8\^X9EYH\YP'Y:E?G'RM9:
M3VI1130;_$PP6_U*7#)O)F=6F0:S>#HMUBW$=X7YM)8TR_KZ;MD7PC1N.QP(
M\6?,H?^C!?V8=^L;"OI1#]7/E/0=M:<:QX)P6Q-3TW+_-E2YC\7->/7,IW[-
M@KCH-B/&JF.CZ!K%5"$6[8Q U"$HFUA'B>>L(ZJ\_ \M3/^OVZQFS\A:2V?(
MWSBQ34L9KO<TD7UN?4&$6<.-EOT&J3XYNQV;2RAZ*'J)#?M5=-#'E 66.42I
MR2F:I-HRYJPQ)KR(9CJ1P0?R]0"I2),PIP\YRM5!?1BT3>S^C#0D2C.1)<[2
MN?^\_/85>1-/U^?80##Z"D8F;L+\ZL..B2F';Q@\RAB\A@RC+T]+8]L.Z3&^
M;&;FI29>]8O1T:]_PU>'K,T1PJJP#&3:9UJ;MPG\N1<G:BI*PBRK63XHKA:5
M;B0GM&(-6)S#&ZK;Q3&!MZI0U9,+"0$.*$U7S*WHZ#X-!S@#FW,L08U?=7UU
M65D2^.U&_SK*2J1GG<!9OUH:B-6FG2AVHM/AS7WR]CJ-"LE]\F9L6'M=ZPM]
MA[YM?2,)S*BMHHENI)U.S:TU6]=P6E7(N!TSUJ%G/TT G#QE_385<YI:I[ F
MC<G$IO37;L,6(:S9Q NLV;B&7]%->SW'>SVXHSIHZ_9U6PA%[4*A0@2Y:]3X
M6[6:;^[Q:K&6VV/6H(DE8%BH^&QBS>55F/!?LDF03NM#-NL-9_([G(EDI:7=
MX9DX%<O=Q203JF;#_/)S2!?9)5WDJY-NEHHT$N5$M-.IK^-:.%/(WF3;C3.2
MKALI+*=\(Q.<HLIUJA2<J-J@1A"7K-419>(QRKB4(_L;W=HRF19GXA'X@K@1
MU@#A8 ^<SPU]1<9O$6!YK6HVMPW<CU86H;2T;F:FT:Q]6\_KJ>(DMO098I<A
MQ#=M.P?ON<8&/$ C+&P8)"CN<,A-:%ZXT6Y[XTY9C(:UV^NE-8TF?_T;/;Q&
M\U]T9SDW@7\:6)^;P(*2L/1,OA#GNZ'.(M@M!L>ENR5X#XX0F"@3(.AI?484
M[C6HWT+L'Y.HIW#B:["%,F&\M)DU-C#F9H288Y/#9+N7CZDB1[2/US+19VT=
M>USTZDIHI^03_3KQ$$O*JI&M#XKS?J=CH)ZT/./.D"H*=S&I.;GKY-&@/D;7
MP]*]1MBBIA_N SHAMK'=#9!$%X%0&QC!0X!_0,8FTD:,#O1GBJ;,[)EWP2+3
M6<XBT^4@R2.E*J/Z364EV9\+%O*J$"I%RW96K#T4DMCH)-+A)139.P86!I%]
M@UJWCP!"M@UJU8XQ,7:)):3HLGG%Y6R#,M(61PQ]QI$^@YVKUM6&O\S+,]C3
MXN^2LJ9K'=.[G%0;Z/V.I,\+4['17U1:M]%U:KK\3$["H849BPEV>KKN9GO+
M4+9?K>2).2L<)E&[F%[QY<D<T6]*R7)&BG?$AB2,(ZN85#8_57T<KM6Z&2^;
M)3ZJ#Q?%KB9WYP(!C".U?3]-N[B8;^.?7_\FCSAD MXUD=S#>^>;]W)ZD@$V
M878)*PMP0I^!V1-]PK.Z'<U,9ZU>,[->Y--WF4_='97:O7"KF<9\:E^GZGTE
M:Z:7M[ ['EY/?I+9G;W-)"SKKA6W1+!E8K8?.G&5W.\YV4,E98Y4PC)9V]#G
M&&E_=G?)3P#-S[2V/X6)BNO\M+!2;N^FP?ZXHG9B[=M:XE,1<Q!/1,W6PUB?
MIL5,K&<_W.IS8A'^>R3ISON9R&/VU7?AC1/;8/J@(LB-62;:6=_70HERJ]$M
MUHF.I!_QSFT$_XIC>\P1#__G;C-4H7H4*_8M]IE5+9=-3U;]+%9+8_EZ$:OF
MLI^J.R?Y&S'5?.#;?+I>[R4R]>IM)S=Z0G?^%OO,6WBIO=2_ )B,^_JH(451
M:2J6I)L*/S7+1?-3N<B:&+G$"JWJ'7LNW^;;6K8>63WEV?7R1O,3F>/4.TVL
MBDQYU;[)KKNSB1Q<U+5YG2"*M3SB[MN(_JO]M)_NW/,F617UH5'JUD?W?#EX
M74/SN*Y:T[VKK_PIB=I^0)$;X59I3?/K15:=W 8%!!$#7@+K+T"U=F(XKE7[
MS506CP?BW<WD(5?1SD>U,+I9%*_7_7DVN"@^J.5:)-Q<'G>\^Y[X"[)%]6&5
M;Z7UO#E-WV<GV8>Y>*NB3W4WK.YNTC=J*YON!/MZIU[.3JU@S\OR_34)O2[6
M4Z%:9JUD@Y7P"H]'BVQL_:DN ?%Z^=!X&!E2-I_(*7<J7@\SC<;14Y<7CF&(
M"G=,97M]F!ASGL)+@$,4S4;LM=\IA/1_9&7A_DO^<?N75(P,")@>/^H[!'V[
MX=+\?YTEZ!D8!!ON[,6P&^^]B9.#M*;[8_\_NX/?WF0+2KJJ&W_=P.V=68TQ
MA"'^%6D,]P@'!P9&TR :DA?_1>H2K4UGEO'X3E#XWTWP-ZP#%[F*Q_^+V_X)
MJW&PE#.T"NXLV-X=)O8K]Q$-BW6?Z:8"W/;7P"H"7S[TO=<KI8JES_^*PA5U
MO9./SJR$\%7X3&1Z)G@1<6,#(/0_VO7T47:%OXF\$O!06;=+-ESGT:]_VU1
MB72F 9&)W&XX%9TIX'F?U9R)#/;>X@QRH*LR9)VLU>J99#O)%6OI*RY9RW"M
M3JI5S!23S6*V];__,_#*0&OU=K;%M>M<NE[+9&NM; ;^:M4K13)\\B%7K"5K
MZ6*RPK7:Y$$U6VM_YO 9]XA;[GEN+K\[&K)EJ*#[9S/$5T 6%;&@P%_M0"23
ML>W#?=D\$#KV)=FFI-_0@OMOLC' +_\\$L<]J=Z[J\A>R!X]T;TKH8CN@OV0
MC/AX%,?Z?#@D]\.QV+"/8OP0/B82*#R(AW'D%Y,)Y%Z8R$QCA7BUDQUEQ9X>
M"Z'BZK9?6H(*\[AE.=J,9M.]NX>I?=]JEC">-/NA9%\\;!F.5@MFJKK.\6)I
MU$D9=C&D+$=$Z3UHF5QTU$)WCO1L:ZQG^"%?Z<6#2]+R8)S&.I(SVR-Y.;W7
M<N%H!L^C6F+9#_?YQRU+][AL=I*),3_#=H_TA6LM-4E:'KR]LQBC6E5MQCOY
M<+F26365<>:Z05H>O+W9*_62X?NE->U>M_3UZKX@1A^2_<CAVWO)FY663=80
M+]ZHZFA\E\X6\\M^]+!E[7Y>-NQZN\-WK6Y[/LDD[J7<LA_;M-R[?_(6FV(>
M+X?BHV5QF56L,%9P3T^-V\O'&E86&1KA,Y,H5JTQ,G";])Y2=6GJ7*89]->1
M\O7D/EHP^71"NTOW!7Q3@_@'3-2O.>G),FQ\LOWA0'J?UF%DQ9RK:/U7T51%
M(SLP#/I !7(D)'X,)#XTQB=W(P=S!.&*80W=@8J:1-1FCBPR1U?Y1"CY"CWP
M\%A];Q'?K_F=F2];TAC+MHKKP\<<FD*F(B4U.:.H-H%TNND?<FUE/>WUY7IN
MUFGA'A_*A4N+H'$NKGTS#=K$N(!=P5;I2KGVA@Q3(L#.X>$02Q8\UFW+!"L4
M8L#T.30V.<7DS+&^U-Q8<GI5C1M@55]RO^DSW3;);\P_?T_(:*^V)E[)0&S4
MKL[-+DT2?5M%<Q/_=?_8'02LHJ.APL8K,25O;[=&MJ7O;]7TR=[V>KB['MHD
MEN$.S%6)V:Q?G<X =/"G[WGN[/P[_>NDSR&AH;MJ[N<@W#']RRP,<)2]J-P[
MTKRG,Z"!J8.\G%RK?S5KO,^H_-B57/$J]&R6!9\0GT0(X2KL2X07")%XH5J'
M3P@?FGX6(7QH\@@A"#0]6Q3))\3;"/'V)%S/:ZW>-"/.B\+>GC.QDN#A__L5
M^?7>^8>N8M%/K=[U9D]TSKG#T*9W&*KL#D.6WF'8>G-]?O?Y_0W\[J',E&^6
M!WKTS+)WAH2 F\;3%P2O"<+!"3PCU>&_QUE<?"^+"_Q5[,+%!#[*XN GWF=I
MG\Y'Z?SER1P^!7)]@<S_<**.+4AN!N= R+(,96 S#[BE<T5-TV5D(?*'=$6#
MB5KVP%1D!4$68.YD8G#1Q-U>0'UFZ[^8JOJBR2E/EG;V55FYO9B?\FS)*=]Y
M,OG^5)788B>_%=T\EJ=2&XU[(M\P[CM=N=;7)'M^K?8@G &J5 9BSY;J]:'
MAX(W.=:\.%7O0,&CE!9R<E%=R=5I<(HF>J@;Z]XWT>Q#66M?@((P'\4R&O>O
ML[B7B4_*]_K](C+JTXRUB7CBI+GVSVWMO5-!ZE+E$++@D?&C$2;TFLT(I4V(
M^C!W(R&^A%W@5<B[@"UT,G7FZ^$18U[RG]M%*F$O8IU9IY\Q0M+H.EJZL';B
MREN2B9M[WXH&69GUK;31@*LCD*47KA]B8PT7^%DE-2T5!_:TJB_[$=!>0D(@
M'#I+M4A?<+^<X#Y[JO<-!??<NL1'!??F88P>9.GFIJ-HL8?0;3 9R<<ACAFR
MX\<#L<AIZV)_'1=-YG7QE[X1]LE&V"4KIYU>B?'@=#T%G^?6>X@=9M!4A4A-
M4PN# 6=RQRG;UMU0<RQ?HS4T3AH&7,>%/X_9;\4[;5&.-/HUOFST"IEP+\0K
M,[CQ <I0('(DK9F/(CZ*G-.=\\-1Y-Q*V%E0I-V[SG5GK6ZK$TQ,H[GD7(T7
M6X B44"1</PP:=4W] ,E9;A$XR3BV%R)D?39G"PK3-JW(C\"DY?V^9Y5M;KT
MY#P%@1=R(#D7\P[,T2-XEQR&)'.5J\:FXIH/IGK82*F=43]&M:9P('$DD:<O
M_+[P/Z$177IRGA+^"SFAWB#\*)M/)>+51C3;Q?'Z?"#>]-<3N/H.RHX8$$,O
MGGJ=MTCCJ07X<B7BMGDRJ$O0#4.:8X,=KL&-8J9?$:W+-IUZ$]S2(7'0/9#3
M*)'!+?;DT=Q.O0INC9%QQ3D<\?Q+!VM@9E,A NS^6ID10;?<J]%S'2[[*D@E
M/S-MMQ+DWC ".T.W#(Q,VUB3)=>E*3?#UEB7 YRNO32QPQE=<2P"73<Q9V*)
M3,^"H"QKC"P.IJ'I%HR=0A:@C:)9.H<X246FN3M&&$B OAYX0^3_L99ZD+:B
MGX5_G%$ZOR'K I,YMFHVL2<N775PRU)UQRM*9CVW#6E,K)W/UVTV6<Z6I-^#
MM&79V5S5UQBW@ 9LO$[",C0L=EKA^5SMI$?+NVFXVM9Z]8\4JSRA6;A;T5(W
M>[&2A&?E3OXNWBAGK_-"*]$@.'EUZ%C:5+1T>7F?!]]0%&*)(1?:CG!#:*)3
MH%5VLP_L&&;P*OD)<;]Z"D$%9T=D2)E43?V]KZ#BZ#'6:V*34%Z"+1$6'P9A
M-EL=A_V&Y6C#J#1P99HWJM/QH)V6^[%GZT^^Q']) I*NS=S:H%5VQ18T9^BS
M]'8Q#Y-K)&D9W:/)-M61M$[.%XD*+Y:;T5GI]M8N%:#B;#@1"(6/%%8U-E-W
M& ](8;X$TH C,K:P,5,T_%16C">ZWF/5(WGZ+EK.Y#(X^4@-W##KQ]@DM3[>
MP2M1-V-5*Z/A72B6O0\+K6F_/C)5E/0FVZ-NJ22F8Z+1B5;RO:IVG1[6AE"5
M)T!,BD.F_R#FA@\QE^P:5,=X+R@.L(2@4#;\!J^P(2E02(Q(SR;-I7NN"=G(
M1T0FB?"!>L->XZI(D% 46_L_W%._MNDN/[U>^@M)CMZGKI\YP5&&=+N@]Y"+
M&@$SF^[]24TN8)E,8Y2$"DR4B3.**:DZP<ECN;G,=ERZS8?R6;L=*L9&F?&=
M'&PP1% TFUAGUC/M^M!,^/Q,7@>I'[]06B]Q-ZW7EH:F9]3Q]K;T +"!;$MD
M8T2<2GX 5I3AX@7=+UEE=9I3"K))$<'7Z&=B9C%Y)T;5<JP0?#+MP01#5XH%
M.YA;\8(@K8$U:<T-5?(BEN'6O.)@$#/=M#B3-%*&BH0TZ_ W>#6G?$T&(I&'
MY$U8<VN74563V$:ZI+#*R,=2\1H 0:J*)09\Q+S#V]ZA _(&K)F8;KINE65F
MN6U> R:51G]$NT":FQ><=</FXBXH,;X0**C.:D"W2P!'11LZF;S@K:R'$60B
MT&B!YQGLXPXX@\Z#6240W2ULOQTG&4'25(@TL-JH8&B253'P;D4)CJ@.]/,,
M$DD3&#LDY]ZH-Q4H"'83JJX?C1:OB"Y"C ^.+HY+$XYF26 K-T=K@RQSP)F8
M\Y$,T;2>FP@,\7I,@'8^)Y),.*E(-C04X%J&PE60-D7TMT730%CUCCE;)*LB
MRS3]0X 0&W*IC<:,F9\H[.&R$F$.\@*=Z*T.K3E:BU.&5&8&F3[:DX8=47Q4
MM.^PGS32D Q<L>GK&@Y^N1816-6URZ#>C'GI=7P"U'</JX?T__:1:LNBNJI(
M5,X(W]'[A)R\ 5FR%.Y.27<X4+J(?"C6F -[P?')2#K4X)&Q\P5Y"7DM6:>U
MPY^,O0<8/H[)9NL<-"*GN"H0Q)[#ZP714=1HF2C3EL:!H_0_.D"3(@N( P4G
MTMT <V.RE:AKQXXA[9EKZ8G?;QQ,,@:^82A(Z'QO$YH,UV#@2,@<<Y#LA$W$
M9.,#/QD@(Y-JPCY#I!C< JGV1G$;,R5C=T$5"JW@0J>C=5"03-7 !)9--CJJ
M6OXFVHCYYXKKS$'WPY:E4L>%T[>)M[1AX]D.!#[M#&;S/H#NE][G#!#\942$
MV""QH\;O^R7(PLR183&EV* 6XP:?*&:];ME!Y]Y=>G.SR'1K/;:ZNVO(7JT"
MVNZ,\Z6A.8K%I<7XN#I![3$H;27KDLODJLIV"MAUQLK<)&QN+3'9QP]9C)')
M$3G%PC-82B*_F/2!3+J#&8HYA=T2C1R6HMLLD A^:D(A #RB V%";:'I1HPY
M\JUF,CML?P,DXR4K!O0<$RT.DOR##QGO<(!3*=5 U.(BYCE!"0QR3X:VVPH9
MC&L)C#\ 3UC TH3\.SP  ]WAT@%X^5R_\W8M-N!!#%R;[N&@(+!1L^V #)<I
M8HC:IG2 >W[VG6$=8U-JS?WGB6]-)<U^?;ACZJSUI!951+/!SP2SU:_$)?-F
MTOB ^W2K4=><^3\RS7>=HI-(/!63(]:8O^_HQ7BU(D2C0:CM%KLZXHYRO:)
MH/.LRTZ=CVH<"\)M34Q-R_W;4.4^%C?CU8_XE=^T,-?+XNTL:D35SGVE,LK4
MQU(V,TO^^E<4KR+/+,RK*UL<*Q+\V/#_FI4A1+\RA%\9PJ\,X5>&^(Z5(>1P
M)"3(8JP_E$*#?E@:ROU!5 KUXS@FRW%!'DBQT./Z!)+14E2YFPGQZ=M46&A=
M)W.-VNA898B.%%IHV58UV)FEQ?EL+ IMM04MPX];CD.SRK74R*ZGZTY>UB<=
M>3C--_KB84MS6%O>K/*I-%^O9Z9JMBE.T]:2M(P];KF,\SE[EN))@TAZV3%2
MA6JU#=4F#OKDT4W^SFP84?X^7N,;VBK:-?4&:7G0Y]UZ>!NYB51&4UR.CEOW
MRZ%5C26/59M(MP?12$J</V3KXUQ!&,KIPC1SM-[#?'03SPT*9;.3MV+Z,)=L
M!E=%:'FPGL$;:191;B(3OMS1^=(B3<"@ 2T/9C2TS?CM-/8PY.U>_0YU1KWK
MR=V(M-R?49\7(@)&0]R/A4)DL0>Q01\)@W!?D(81@4># 1I&'_==:J=NLJGT
M3)K:M6P7:=KUHET\2O]<-_W0M(;M*H_&S20O%N:S7N9H91!^&8S7BEVS,)VI
MT]NFT-7X:SEYK#)(+%6I6SVY6NG4Q9@27Q6-:F)XM#)(<UT.MJM"%$WK75-J
M:$(S?#\Y6AFDRN?FY77M.IN]+RHA#0UOJDVM<:PR2' >F19ZR_H@VRHEXH4[
M,QA^4$;'*H/(B["=68^D("^.;^/I!N'"6FAYK#((CRI:<3*IYSNXV"P-:K86
M7LH-TO+@[<*@/%5"T7@_.\LV#6DZBRPC&>CSX.U\;[*X&555GE=F]4@X5U6-
MA-$XQGU!:7"/UHEVJ",NPHG[X8VUBL\;Q[C/X'D]V.\8X4YTW,\OYJ-H^"$_
M8O=9'E6$*4SCL=A]W>*#8NXZ&;N.SY8WP*<'XURH=ZO\JK1H3NOQQ7TWSC]T
MT7V#1;>[M4YV2Z4]?\KAG%Y\8B6*HT<V18U8"Q8U5^O#G*(A35*0>NT@<HX8
MAC=@%QZ>W13UX"29*Y9N^6 9=U;W6CT:@EJ9WJE0,=1555_2TWJJ/\V)UN_X
M2/ CI](3SI2-3P9\<9MS2W@G6,40\0475*CA.D JC>HRQQA;YAN,D3.6O#CI
ML>/[2ZU\WTH9(?$J$?J9.9^9U7G%1XY[S'=^]X80\1-FIP\G?+IXCRX@,#^T
M;("W"2->17RR>(\LPE7DAQ9W\#A=!)JDV">,UPCCXY@GR>+CF$?I0G#,U\?.
M1Y@W)C5XT9Z\W"*\P=X_K^EV<M?(\2,8;RV*8S=Y*$/*:U;MN:.K%/.7L3O4
M+7":L3\KNN0DR1B<AIN>U0>^.#.=H*!,XDKP>+6--S(6N*P9*U'']8<*-/AX
M[./Q^_Q87EN5 T'Y)-[Y$>C[_AHXH:LSP\N)P;7Z8O&NG\(K'Q6HTS#/YZ8F
M_BCW[)U]^ANSYS?FMY/_5;7#?LB6^SUVV#/QP*GVSF]DN)RT:N!/YHKO9<]^
MN,J@LU=^@13VARNS<T/]R"VA1_>S_IYL4[W 6KTL.R=T(W[^])[++?@L5IP*
M#;\K2=G)VD5SJ'M0+7+.YWU&]QG]^S/ZET5TW^CWH-'O^27X?$? R_Q]\47Y
M%.^IIU?@I1"CG[ $+T4E^I+Q(]G"EXP7X]R^L&3\('=0[B!MGVY VN)MRB;?
M!?057$"O\(DF)<FP\38%XA<UC[V/C$^9U1<O1_+<LOWG67U$%Y_ZBY58=M?B
MM5FXWYLDR\V'[41LTEA--TIS+V&V([(5!5&N5;#IY,MV&QR[@-Y4S.E>+P[&
M9YVTGCF&\(]Z<K(,9YPC@<<CR6R."I*FTW3[1J>K9FTRDIK1I#J=C1^&]=@R
M&127'ZDH\UQ&9&SNK,J16C*CVWJU.)#R2F>=JAO=NW52+1E)EH1 >+:>L8^&
M/AJ>"@U?4]SW9Z+A3FJ\[PJ'0UG/+X1P.!LL]-MY78N4TN)'JNM]! [%T7VA
MW+DV\WRWJB;#RWIZO4I"II7XKW_#B0O7U?)(5HW+IHW)(T6KZ.93Z6.P03F%
MR,=AXIA5M%T81#*Y!I^VAI-&QVA)R]K(2XECMH5:#O/$/S8X'X4E/$YI[*9.
M?2)KC.DN'DT7LY//_O5%CB"IS+;R!C*=M#?F5\DK\^.3R+Q8R=B_@WFIN^3/
MUUGUZ7*IR^1A7UX\2!=6P]JGB]?HXN.8-^GBXY@WZ<+*<?MT\49.C!?5XQ_@
MEGP)P2]R_GB"Y .AJUC4:Q=5GD\NX)CE;6J65YE9GJ5F^8?N:/A,_MV9_!O=
M2'KY$KC/_5^6^\]_0X]GQ^[?1QY.>G'S!W'!=V."CUW3=$#08W%G-6QQ(Z1H
M;A7#G>IQY&$]7?Q?TYX?XF;LBG3Q#ZV [)I(8+) 52:*J/OK0!Z35_T6_A X
MM>>GDR,_NN&8P^'%(_[/E\-S!S<PSZ0')W[1T(9WGA._.R*@#C52T[LE4HNT
M0BJ<(Z>1.<ZI^I)&![B'RRD,YZ_-3=54)\A"D]MH=21J('V;:][)Z6FL,^N$
M1I/\(H_%)M2["4'A<^$\050^SO@X\\ASZ,&)O^EB O?[S$ 3W@6:<%].+JHK
MN3H-3M%$#W5CW?LFFGTD$O/40$.6C8SA&.)D47Q2OB^C*>8K@X'Q,,4S6F$M
M2A#G,&KSCY<MY-=H@K]!%?S#@2JX7\QZ:.@S#DF2/;-5&MA"-$.B(%JZ4P3[
MA%JB>&HMT8?JB\/3)^E_'@;A;Z?L/0;3'$&(Y!8@GH+H- VTLZ[) NHR@^7C
MREXFKBJ-FXIVS]<--$%Y,SA'#U"(,'3&B'D?+GX*7'C+0_D#=+93X\73.ELX
M'E2RVFR9[>;B>*0MVC6]#,!!=+8C1N*'=3:O.O3V/7DG5]-"OC//-[)]9][3
M^EW0EPQ?,GSWT_.2L7>=ZU,NK^S3Z6RWMUYWG85]\9=GETR>X0PZ ]AYGQ:*
M^'FQ8+,(VQP>05=#.++DL*Z?<G#HK2D_S4I,,V.7/$$AVZ]/;FUNI4&)\KEN
M4!5_QP%'?6TZ*,E$B]_1DAW%COL-/"CR_]331?J7\,^?J^.99%QI\SGTDYR6
MWIKR<QR:?8X#EXHU)GPK*P:].\FN,FHCPHZF9?Y47N,_G]6>,[P\->/G.*T]
MALNL]$:K!F<(!]BWO2$[IZ:_R1',,R&&1W9YC7OEK7#X#)X/1;,1<Q6>6D<^
MC5)\Y@O?&3RP,HHIJ;II&T>N;7=;8R4S-CK3*<X.RO5P-Z7,RN>ZMGT08/5(
M=1;XX^:&K)AS%:W_*AJ5F@',X$"]VX& @Z"N#PV8=D2(9,R0>C@%.!*\8B%B
ME*@5,D+8V],&EA7+J]>S?_U;U[CDW%!4+DQOG(<"5.S %X>T-4?#YEP%!#F3
MX9(C ]-[[=QO:.PH'X^_=#41NG=P7:RJ)I<C ].Y%-*F :Y&N1JI7-(T=4FA
MGP)PQ5V%F_!&@-Y]+VJ:+B,+D3^DJ\#V8VM-_L"K %>II'<>R[J4QYK"GM,.
MDB,J>]QUDVO!)1N*+O1+DT@9P37#T D2F5<<68F2K:XY47!78OLV;"P4"9NL
M6_ ^0CX KJ3#HAL[ZT%6::(K+"G P6*1-Z+==])7)NT1H2(7H>\,/[OZ)H8\
M QR1:TUVWW;T1;\M?82IMDB7_E@;]B*'<LD9RSWP% 6O.,B;\%0K@LWZ0I$Q
M VTZ3!M&;>"%KBY 25 =69#8+W>9IKEIY'2;0Q(EV(9[R-8)L]?(O(G5:W'X
MWB8\XTQ=Q2:1$E>'9@L+G0V0B2GY78A]5@;^\RQ99>+]R'Y.&39#=X)[.5PV
MR[#?QLG><E_NH+L!2A:FW3INKSN]<>5VT-ASQT?>Y(X'<*H/'[T+K929/4NY
M:YA&1+$BSS=.]BC;+&K(,/KKA_!X884Z;;Z\N$TLY$%[6.$;O_X-$5O_R.'<
M*VC $3148>UWN<,9D\,;&Y8 PFZ8SAHC(EI<RA$J;H;6A/7N;4RD"E'7MX&!
M&QR.>9;AA-@_)K?_4N MRH(!;F!;1%^A8H=7$L8^=^USET+0\DVLU;('$Z+X
MM?7D',B)U/JP0K'_.,^U;30.%POSJ5(HQQ:J$BKDZH3G(A_FN0!GLI&X3(*<
M\;C PD;%8/!E!GH$0PKDC5$E)W3&R1A#OE%H5IC?RI_7L=$KN6A.L+<?K2Q"
M:6G=S$RC6?NVGM=3Q4EL>6DV$C_&1=?8@#!^-"+?9(G^HQ!]/RE)L"F8:;*K
M$S0@[7.ZD<%DVYPI+%56?;AANQ2AQH:S@N(.:UGV4+I&,6L^#:IZJ%.PVW?U
M4/+7O_'( 6/]U^LXBU 6.V/<&"S/_@(Y,^%^,S\/@35MT\4F4]&F%4"@K1&[
M0@5-Q'GZ)\#-51MR Q&FVM\>?R.?S=[/9AUGI4_$;LGEB!\-5CTSVU4G8SZO
MK$I] ]CM$,?>SFY;'F$[(S&R#QB%LL_O@<\2;V>)I*J>B2MN*_IM^CID"YVR
M5N;'PT''*"U'H%-]@"N0JAYRQA8F?)PX*4XXZ1Q/Q! SH3,MX?4@.0W65XW;
M"&\@U6B<:%<ZV%("/B!\%!!.2_YY-=(EV)(>=<18>&$/<^(H!/JN>'(\8-N!
M]$KJ^_9,DGHB3DOZ/4NGHQ6M0>9ZD*W'UUB?H_;=;8KL!.&/&SID&!3Y%W\X
M"1L6A(HQ?1/\ZP84X@1>0#*X%FGFRBLN2>V4_;R48#&1CX\L'=?, ::@;AI0
M.<"4(N8?,7[4]249[##E^;LYK%SNI-$T*W>FW48TDLHD&^WT3?*4'/8RCS2;
M2CP[F6OM;'2]+'9&&25<M),0Y'@5_AB3,#/WP,L'*TK8!7R80S<3+'FXP.1O
MB^F:X'91#.J3P1N'#-E8" G1?F94:OX&P-R>D3XI&T*W*\B@.D;&"-.>#0*P
M'#W\  X$UPLH*LPTNLA&M3F*V:!56S\A<BW2B9*5UL40KY20G%6JD5JFE3SA
MOI5VR-4F>&1"EAMSK*MR5=' /=-DU)-S0(8TI4+:(4(39KUA0WZ'#;&04XKJ
MO%"<KH/Y"%+F\_A=CK"A<"6\%ZL(4PA7/'_%95<2GE.WN8DMF+<UYI[PK0>V
M4&02*LO8>-[9QPTP,L"O3B :_(3@022DQ?O>91DI!+-,93:'\VO'K0U+HL&Y
MCRL&I'?Z4S<(X]@L@^3706459"> ?POT/_UV:BP6FNO!@K<;Z\DZ.LHK$7YY
M],CF/"=7SJ-?_[;JN>;F-/(51-JX8JDA<5E9/'XL^F%A[(2N4X-A4IA/ZW>K
MY6+>K=ER:$\8PV_,F#ZPMBFV4P" K;F!D5S7;I"AP.DU$3,L'%<&RZE&O#>Y
MFTWX>WLR,0;AOCB? ]Q?B>^U!AR<=\Z:9$6F"&M;9!$>\ OB(]L&/'Y=#FO=
MV&UOV@,3W/-P<$0/]Z$'W1ZQ<ZHAZ9\TA%V".5\5DPP#P@+V@TPND?O]^>#!
M]T<+SA^?;Y.9.<FNWSN3W:B2)X(TWA,6^;&HR-U<@3L9$2658#%$OXX?]1W:
M.<X_64K$1ZNQGQA&#+O!NYL !#'T>.S_9R^=XR8<%T*:=..O&W2[,RN'#B(-
M2AKA(,L6B8;DQ7^1ND1KTYEE/+YSD_'O)G 7UH&+P'43;OLGK,;!4D(J])T%
MVTMUSGZUG^S<>?9"RLJ=@!^B74;/1)1',2"AG1@0Q!&,(9#_'^UZ^BAOOKB_
MM6D(&H1CZ#11O+GA2[3+F\]R)5W%H,!?[4@!6\;MP_WE/UA7]B682;^A!???
M!"#AEW\>K?@>X?:JZQE.H-C<>K)[ERR([AY]-!SR2,:QOA"*1?IA01[V!V(L
MU)="*(Y%B1<D%/[%%H+]HFCAF=B/Q6-B..1\\3EA/_$-Q6$(+#&5>'6BT)FC
M W@N0Q091C592^:SU6RM[9SMM;A,L97NM%K%>HU+UC+D?\E*KU5L<?4<ERO6
MDK5T,5FYU(@?+6*Z7LL4V^Y(F]E6I]*F ZU?9YM)^*)UPI$>#NSI#>;10)_-
MO)5&-&8'&6NNIEN8<443CXBN"(J"4S$G6-'U*7S>U"LQ-^FZ+E%JA(6QB=LI
M*D< 2[%(?Q+Y=AN89S(#AR@]#1L99!6)_<'4'S"BR61GG, '&Q D0=IL8FB@
MP48E=PSUC7_'*6H25)TEVJE*XD3U@N(UPTB#;PE&MC#3T$4AZQZ M\#XH?5\
M.+=6$9=D152$1"A,P[80BP]B<5N;/F+)(WUL?QK:_2G52$W\W(@535)M&0?H
MT'7;XE1E1M:1Q8[MM".+((&=!C.RC9W:*P$.HJCTF2*!^NG6L0GL^30T66$=
MRGB!57T.79(OYH8^,M ,BE8BS839T4 4!X9=TW2$-?JN!5FA(F<ZD6,<X8TI
MMJZX+MG<3>8]0QL*DIXA_"#@T-!]/,"J0D;P^#$4S3QL+"'MX!&+>SWH0-)M
M57[\$(QA[>#I#*T?/S+'QWZ^5%3U\3-$7B\I<T*4PY?)<!/XX/D<[(S#N:G*
M%*L' R&6._4K'G2B'B[%7(=MGY#W\ O3! ?NYKD3>*P1B $B4F>6@?4AXVOF
M+#4)TZG( $X@,FO2F$)&=Y4(K *(0 #B&3XFNYKR5=#I19F$(V;P_]+@%C):
MHN.ZT8,T'H:55[(XQK>N&"+3M&=S%H\)*^M2T_% &W@W* =QQ+H>L"-*0S&G
M;@"$@W$ *@$'&\C@CJ.#0@Q=*.E$*&:K]/("S6NC:R,=/HRP/M>A9IG$,&!(
M9F_M]LH-L+7$6..*A'D1'< UFBID(4CG39NP 7O8F1ID2 12"FB&3&<5.&19
MQ%3@$-S.-BVN:!H(J[0]O?VCF3:[3L'>2[]P0]=D;JR;EE-/;3.* GX8P-V)
M,8N3W?97-)"V\^P?T@]A8\O%3TZE_E4B(R,;_*LS7<:J^0_SX&X+7T$8W8!8
M]\[)!?ALUX22)C',L$&:.Y %1*>7DL@ZPX>%KMK NH1.2]V8TF[ K0"4-8CX
M$8XEOU7FF,6$SF'G D^0XM#=?0-';&')=D1K.58(7![IBD7&TA?IAL-?AX/X
MAYUQ X8H8UV7:2BJ XWR+L:[.Q7#:C@F1W 'PR8K1L1:(])(&94,#XKL;9O1
MI8-M9H/VIDUGQM[,:N&MZ8\!)LEO-?!C0TTP\J/-HKIQC>;<N0VQ_8:&')+]
MTR*29IL*_3G G!/D,8+61"YHE*/CA6?TAI#<W9']X\Z<NBW)@L#N!W+KT#/(
M!)DNJ;.A99018 &7H9'0FQAJU]V9R;0VJH>)1RS2V6'KN4%$V@ G*B)Z'9DZ
M1UB)J#DP=;H%;OG-_8F[6(P4YJ-%(-N##;LU85G"#<!Y,'[5'3WPI0OT9/AN
M7_2'9+DDO&FX#8Z!"W4JMD!Q89TQEF9ODO^AJT?FZ,YM@VH&X1O"0$S3@%FX
M2@!BJ$.ZV6+6CN! ?S*>@\(#)>?@FA6S2=V05H-**31S8]>=5[/?[DP*26/0
M#S9#@34<&?H28KY!R&$]9&4X!!8FOZ")("P\<JYN06L9JO]1.%]KP-40Q,V2
M?1$>8GH-X6\(:;<X\@Z+JJCP0Q,FC$=$B]I!E]W5MS608'"6DX50M_4@F?"!
MS]$5>9>AW5C>)::B3H=@X#V*DI\IQJZD2L@PUC#^S5W*$1%PRFG;W=KIB<;1
M$]1C1]_D?=;K!K,9"-I%#7T)JT$)KE."@B) OF"@L%4B0>*HODRI2O9DHI62
MJ3C-AH3W=<-D.+&=*+L018?7N6I=<2-5'\"QA(%DEW(S7<,66$6P:4GKW7T*
M^MH<;="C"=K&67SX-H=ET%6(:4$/??>&"#RVP1@R-8>A'(*OV5 I!F(*'4,
MQL!.2SI-LBVR_6PVQY;"YK@@4*#;YLY%5O@*H(L*/Y;&FJ[J([H!;Q8&AF.;
M]#W0:A>R%(VYWT'N-K\FTK(VB6:RMW-O5]9D1@C9V\C6*HU!;9#61$B#;'\&
MS(=ZF-*V 24O0-_F@7/6"5J$BY&V1LS4L6[0A"ORQIQS=AH3W-2!#0@0$X1
MCK[&&/IV'? [LZ&KZ2 VHZ1ASQUFVK+U$WH0Y^K63MX^HE6QX'?XKT-?YF4W
MM]=#=FPSZ'!CXZ5A8Z>[\%?26.L DY(%)WF,3& /$IN%@B&](L T"+(OL24:
MXTU# Y,6 !8TN^%S*CR<A@"/NIH3O$!"E%<-MK$I ]BP24=TKV,O!Z'9,6/A
M3@&B]R"MS;8!=PWHD"B!'46()?*Y)@H)5PQPX"#CA.35Q@5 FKKCV5@RK+';
M.G:UO55QH*)G-MH6NS1%(&KM!*AORKZ"[Y1A&FW3=!:,-*EOK6OWW5LV!1UJ
MH^LD-<VFN//8I5$&"UQU+AJ_DB7I[_' L $&Q?!.Q52'S=D 7&;?W5QF:(J_
M*_<7B8I/SZ<W*M23%A,U;4'M 55?TZE-9E!XI8OUC%S0L[KG'$MD!]8ELJS,
M;%[K-L?\!I33F2Y&5 0;[R&Z]8*I^0H'$5&>$;$&-- Y-_L=/4YD9OQ7HF07
MLU@&"[B5D$<?D/<X^YW.V7-V2@JZZD*AQLF:&]F*S%9SP_Y/KA4QD\?LFB"]
MF>CL:&Q#W]^.AC;5VG=,)7/S@B4Q.P+T0A2+U7 ,1\<*H68CD(#J,4-'[S"W
M J>BI<>\(6W*VE!E&9;KC&"Y,:&JF?^+9O-_DAL[2C$YYHYC\C;&ZMP11@2A
M+90IP.\@[XGH?HUI^/:(4Q-:[5VJ98 )DF,/3$56B)+FZOA,8 ?LO2#UI)<)
M@1#:#T5/JIT1W4>F&]<39;"WH]AU&KGVGL04<*K%$VS U,Y[2T^.O_O8!KG9
M\K9TV1X0;!Q^C\,,ONQ1==@_JO:/JK_B4?4GI9788GS*-7#K"S"S\-(SN\\^
M-O^N(5-&]W^Y8JV>^</]WIJTCQ%[[T*_8U,^/NMP^SXXNSDX0K'-G>,0YQG!
M^MT-"G&$[60G6 MQ6",3PMAPK7[R^BL.##%765?,O:ULJ1NJO-E29[IIT1PO
MEC*B/H*M5T8F^N'"B>><$VM-8<X HKB HR# C0F]@\Y1'G6.&!:DF64>0 NK
MA!#44>%NMLE-BJR XU@F-H%STL;TUGW;#7$F J.1.5T,['AH#1@EG<0I(Q1.
MQ#M+!)Y?F^H/-/C:B6%59(S^;DA%EQ26#_Q$$/=*(_O@]R;1-8T16?\'5YF0
M#*@*,#!TJ@C(9&S&QB_I6M?4J#)G]-R:ADE2[SW1V<F@UH&]9<;4Z'5(Z_JL
MC@X%'-@FY#AS5/DC?*.0:2_8B>N.&VC+0: K.PD X&2&=I,L.@<?;K],Q?4.
M+<D (3;;W.-[Q],PFQ/>-$QJN,WA*I+K0WND&-*U(KJY1K84Z@8S=-EVG>V;
MLPIF%U,*CM$"B(3A.(#8%(3%B1EE:\H,C<";KK*W$%YR#DT=$QK<DDXN%TD'
M2+B"]85=27/\R11U-CJ?0^A=J27MJ>S1$=!?;OQ7.S_8Y8PKKKME*->VAQ79
M$5\GJ&%H@ZN'&")CZ)<,W8D*D-!\XY<F0*)K3G@W%XK\-[<F@Z!.1*B'I\*)
MC.-Y183=+.9"IQQ*WDPC=MEB@+ZJF!;U[4-K&#JMG6$@:>T=]NHR"42JR3!Y
M"]L,<\$_Z;A2V(D!%1EZW$8(HAB/+8T]UF('&727VHIFLABDC(AW &1.M '@
M %A]9Q!P$FK@[9':YN3$/4C=\= CBL9XCL#.9,EG*,L#T=PS0VD,K3EDLY.I
ML3V#TU$X7U/8D0@HM4^QNZ?HY5C?P*./>)<Q&F-?<'W"E2OFJJ8A*\#Q"[A]
MI;O[J(H(;&Z8'/+R,'ZF>^D!_,[ L? T_,J8-'"HO77(;YB)8,'>%3 -#G[9
M>]%(I]L"_ KOY'JJH $$"- [:324G!U5;<]IF2D48 =[K,TF6(?)Z'RNKEWJ
M,SQQQ7=S?$OX&;)JD@6C)^)!*L0!QB%!:G[3%)MT1%MNOR+#)*JPD' VM!%@
M,+&LT,C=QO8H0_F8G98X> 8O;%)[/P/G/+K!3N6I(47U#6 1AB4F7E!WR9"0
M*SAR;MJ!<\8Y>69T!XUJ*[JPTY&946WE\?0W_H;*1I$C+Y0-FGEO&PQ%9J7A
MH6+MGXB109J@6IO>$0I0+XGE;NF&$[3A'.=B!K]D50\8.@ -!M1;X+I_R8(=
MH0=P$"2^3!8#3#ZP[#@]R2;+6-S-40BW)&S7MT+]SN#H!Y^SJV$Z[GX@##U%
MOZ:@Y3C7R,,JJ")<AJ+NY@"]Z)[5TK1HX&@J!K,.@A9=!+UV$?03J7+$!-YU
M:3X7S7ED 3P5IYFC!V],ZHXB'@N>.:9F4CQPXCZ</=)E)P(! UM1919FM!L>
MN,--3!V]XIPB]"9^U+43'0 &&=WW=,5DWD'W"[C!!J<6$%LAT;NWCB[O1FSL
M:GW,-CO>SN76W6T<[BTQOQ]KC)W8DB%<-($('DCS=BRP: ,ZE4K5W(6='5T5
MU-NYQ>Z#$E4)',D[;PPX#D%"%? T0YLY;/F:I4*F+V2Z\@%KP5",1?&L#071
M8!\:2"6SK =$DAU4=K<U8L=1K5/3ES2$B%C3! 1EJE]2_<A=8 /3#4YB]V'W
M-A4#@X^=39D&H&VT:P8 --#$<(++=FA& T9M\E-BF*CF)CK,(MNE%. &"G(P
M'ADSHL3"9C<G% *.8.8HP :&V ?&0UOJ>DNB=&J.DSU>0;M<O>/.=9=KYUNV
MA0&-X)B!"8&CBM,35@K*S*1S=?& JYP?>2X[UA]LCNJ(;!G6>,9X&(*=H"7=
M$$#YH]X4,L4 !T0B.@HXN'78.F3L2)%F.F$!WMD-X;3(N;R':*P%9F%4KIO&
M&BN&'(3C6 @>TE4:ZZ#/H1T<H-)'^S%X])&#2&0<&\L'!(X0@QYU$Q39[859
M1)MV&PV?B1RD*S<(0-(P3Z9_L3@KED<:A 6\%#,J'BP<<L^8<G=RNL]:Q IF
M,/:J 8#DL_ EV]*#%AI1A>U066.J(QD9.%2=%-@@M32X:@^\+61.V9'D]BUD
MJ&ANTEQOYI[B[%I"-)[1B1HC_3CXQ!1'LIC,N06KZJKGCH:S=A)H/J&H>X<-
MB7H,#F#&)0/,(B)V3&@R!37(S#1**WIP1DA,R0Z&F40=#;_A;!BT4VCCQN08
M>.3DES#=.&T#&0Y'2/J8[;80>F!;1'LS(",:+#:#BKU%,]<:^3EY&WN#LR,H
M;HX#=;/_PTD31#-)_W][W]K<MI$E^GU_!<J33-F[%$. ;WLS58IE9SR;V![+
MF=RY7U0@T)0P 0$.0%C2_OH]YW0W'@3XDD"R07:EDE D'MWGU>=]> 7 '-MR
M\TRJI9VTC(0\"[90,6VI$KHA/A@CTRCKO%BL4:KG6>*3)$&?B=X'>&8V1K';
MI,0JI>C]SKCAE/,FI%#G%O("79'(Y07T9$F77,6[#6T4D9EY+J1GSL'X\EZT
M.X=C@PZOM,,DD#72978<P;&3 $7</0*5H7X\P\XQ^"V=7 A/..LI%LHU''H!
M/]Q$-D#V-<;B91#^5:;,+.]:*G!R0^%](+> "A=GM6E)SLMWD$<O.U=*^BQ!
MS'71!R'XX(+X8 J,ES]KLF])7-BPM"9'8OLZ$JLCL><;B7V^R5 LC*!34=I,
MQ2A&:K7F.Q 9F?N.%%>A1(2.</YS-[[M/\*QSGW\4F4AE8..,'E=/F4^%>JD
M5G"UI<+\+@5$I5L@-7.R."[7/N#6.)=O15\Z293_\^X13B L*^(_IFDQV16P
M4]$!)+UH-N?)==*:BBDTA[]E=5KJJ(Z?"D@GCK4-UR/#/X.NB!Y(O[<-=IN;
M^QEPE!XA+>G*3*N]2*.[(Q<-; 3$TP6O'$A#-6EU:,0POS_+7/VPY$F9-\WS
MML9YJ)1J]HF@O298E"H44F=H&8'GI'5;Q0*H8M39H8[P9(F)>-WEAQ]^_:6@
MY EMCB)@W!%7M01X._#_O1VQ"SN^L"]DNKYT=UW;=E87170:"Y[+.^%X.FOV
M6$&N6:0@YVGT@FED<Z\8V+$M^EFN+%.?_@C">P#;K;@ ?@S1S)4F/1?[0,-W
MWES47:8N+T-&1G(O37.DL[(S+D99N7X-(_V4:DO2D<>2$\\7;?B70,@C2UCM
M2UGZ#I5%+XDQZ;7)R4;4IF7.1B3 *B'.1X+L-FP)R=+%M]/3E]2QY5_Q]M?D
MM\1/I9^Y1D%B>?T4IS__R1SVWO!!3D4:606H>3+Q229)ZW<U&*H&GF2#/$3<
M5W@<\C$UPK2=G80XF&4-%U)9 Q8/57GQT(GI+?B[U3I>!)%4[4?265PB2PI[
MPZ%"^J KRB%Y7)!GR?#<4TQEC7CV=9H<6W)-R:R3*%?JFGVOD./V4ZX L0RM
M=/P&E[DB?6"6!&+ MS@CE\D6;IOR@GDP1C/ADJMIY(6+/.+KQ3*10Y9(TGR=
M!"OH4C=*P;D,,A).<RQR$,E9%Z0<B.C + RP%"U3__Z7R=*Z@-T#4P&JL)?@
M/9NT#$QJ">G2K_]X57J38HC*9V/PI(B8QT=R(_QXG +U4$ZNO'$;_X:45)'-
M]7IEQ>_5U?6K5LI"N>E*S5"!/D?LF\W[R[V36EZ:IA^+MB483N(>PL,J11OV
MM;9.9/W&E"JN^%VRO&P*@5XW\K7R-))2P?IRWB"I%5E]J1WS[!#Z@'H?J/,L
M'7X@;;,XP2)H#]\7P\,=KKSX'ESO"KD3HY=W^BC*(^6)!@:<*^9:4<0O7HCF
M( ^X*]GU,+4LLK:%:2?#8G6!\9+JJ/"%5*%@':(HCUYAFF^,7](-X[5O[3EQ
M.=S#82)3?FF[F1:0R^IY1=DO/.>!= :65Q]MFHR&6BAV! [I\/-!^Z198*X(
M'X/@$>7J'+4\\3!F[ _>#1BAP)-RTL5.'D5@2V;8K.Q+V>(O$H$=VAVN#R&$
MH1_,$<(J-A[2EF7K,ALL#3JFSRB/.6V"-,C),*58'\^I?Z==K3+8RO*EI98O
M:?LJ'PT>F7SU>X'B\K_)HL]\,P01HB=S[9ZE32 HK8G!,BF92K:$:.7ZC)"4
MH;1C[@W$*%"TN #+@CI/Q%2A+6I))U3^C:IAKL^$+1^+0_S &/4?I;&75<:*
M&G=Z2#'GO&I?98"1V!$0Q;O$1^+1+ 1'ENHL#2M>QIZ-\Z>=-'<04Q/\$)-)
M1)?6.W(L/<99G6>"K9?%XXEK%X]SU)"QV5'@4!;6+8T;Y+%S$;H+R?B9L9;T
MS5&D%Q?!B40U;5<J-FE9Q6..UK )->>K$G:D/ ,,2["T4C($>>V']RQ.6P50
MN"1%6]K' H=>VA&/^$IG5.ZN(@XJ;^.1Z#BGP7BQ&-@,>(+#Z ^>+T0'6-J9
MQ/>F: [*NE]*>Y,J/-S*8]2BAC.[+,ON5 :#Z#6>(I!85"Q>34]<65,O&,\
M$Q5-6W$ 9PWWUDB56!P05067N2*(3(' *2N@F_!L<=F*A6LLO!I:M!G#<F5J
M^B&\-J'S!T:]'=:6I_*6U?^YJL;U!?=I^B*1'*\UO0*$$V&(WLV])L?@!CH&
MIV-P.@97OQW],0PN?KZ\_)RS0GZ%4P<U;*4""1^*83UNE,D5YVL5TAH27N).
M-4D+X?NFO@6T6^G9QS]R)8199J[46 ,)G\JWE>N6>)"AXJZ9@"KVY?!(%T";
M)>0-PN"@28MVX%03>1J\I3[&M41S_9+:2.HA:8283<H5WRP8*%<6KU]/Q'@M
MI.@UA(%6F?LNVBE2,G[V\GQY <UOX=DF](*\V3YYE!O+S2!*\W5+B\2%@(3Q
M1<,\H1;)->1?*D=$BS"&.GI+!35(_UV:048>A/5DE7ED,RHA KZEY+>(^[<I
M;]HADSJ?W2UOL#E694N\7(ZV<&44O2.%!KKY?EY2PK4*+0WC5.7@Q99+_14+
M:Z(XK4T=JW)-OI;(@&?Z1<9/(29?P_*N2-O%G8B"3Y$;+?)4<^0@DHMENE=*
M%L9?05G_1K5%=^MY4N!(^E(WMFPFDU**B*POJ;"R..(?#3>D!CF"IO-YB#Q#
M%B0!>J$7^4Y).1U4H"@-UME8R\=[>%;'*'!W9#C &T-$248,HOV'(T:9K05&
M,8."HQWW08UET)ZB<!!5>I'I;%.+3)10$5V?/@@V4$E?!1E=O8GW7/G?C#E9
M+"HP2/:WZ Q&)K7L[KON&4G,S:*LE]VAS:'GN(@N2;;"#GZFLN[/48A!9W(R
M%G_YE5Z@E!N)@O.8M;B\5KF+.#/6:%P8-X&7G7G8D)<<+M)SLT53G K22]4#
M,5.5&D$B@TJ/K#W#\,K_IJ*\U(.RQ:T]T7B5I&@0"],5*3#"7DD\BX@25*7T
MXI078O8F=O:C3:T:^&,2Y.2<)E'?X\KV[Y4 4L@WLQ+CG#J1#4$%Y^=&-4WP
MPM<0_<&9/I>Y;53:*=5O[L:>A8-N=3.H!1S];M8_>NK%#I>QH":*4L^R5EI0
M^;#P'\ZO@/<@ -(+LLY^U*8R6!+:XNZ9Z&[KT FK#+2+C;ZX(,A-.<3H?X!N
MTI1W2^@H8*%".J2-SXC@GB!QX*I=B4'J6!3>O: (58KDRO%<^"CT]6!W&0/;
MIL?P3?R*'V5\L=)G0OX-])?X]CQFK^6'/%H0Y,)O@E:U"-P73'$LP"G:X?1-
MP78NF\YEG](BD@N3*3W\Z%NX\ONE[!ONGA)/&0S;YN#[_, 7\3XY BMGUN>>
MCZ)D"B0C)UW)OR_N(WO^FGN([@%.&YTSPE=6< C8$\HQK-\A8)89H=/N]#-U
M8<7!,7_2<*\?%NX66+CS%NP"'N"@!PBA)W9MM0<CC1?U\&*V!YI?5,1+IST:
M:L2HAQ@MR-3$BQ9DBN)%"S(U$6.UNUJ0[0\O/RPB-&9J,UR.!P3\M10PW!8L
M6Y'H5@=KLP$ 5C5^^>.+_HNG\NNP/>S+=(1T4O/\P:#:%$-F.NP3@&NS-:I!
MNB[D_)5RU7_EZ;;OBEZ,-.:\7R&WEV2)[2' !Y\6]ZJ>X,B[;<B/,VQ;DA*$
M4^Z"?_5D0+S--82O#?7[EB<ULP,GAO)_2_!(98GU5%EB6NU^]Z1D"3H]&T4X
MFDR.1":]<SI:-I&)>H>-NEKJ\>2%N3L3* >E3?X9#:6MO"4:3*=O*VH&TPQV
M= ;;MW)S- 9[FLJ359:\_I/C,#:=-L'DSL-0%,18/?P'?BQFGFS,8KG.9; \
MR\-W8$CN1&=%&"WAXX!2_ C4M@Y&W]4G>(^PLYPLIJ2C_%:[:\DAOYEYQ"C&
M@2F75K=E]:VZU1G%D"[-14W2YT#2X]:@VZ];?U!9U#]#N*OG-'FNNC#8K"Y<
MK<N!;V#(;^.6*X5)EL=Z(C;=X4Z!_1M>^Y&,9JO?ZS7)=7'@@_T4)/HY4K75
MZYR+OT"[!W8_[Z]7U*\UW.I17Z*LLI:.'84]I):@X/;K%\$]:]AP9CJ^"^&8
M5*&^*#DC9AK5JJ)KYT6#G!<5\%E69BK+;9MDTZDO:[B$+LB5+L@5-TPPI*2"
MDK(V7>J[FK+"I,P]-B!VD["K(;,R!-)O65;WG#(NZR(0S2AGQ2AFIS7NCQN3
M<ZK3,H[L=Y']?-9<=)10A/;6*!/;;EI*RU'"Y.8&V:X>+6D.4XK#FD4\FLFT
M;^<\?3O%GI;:I;-7E\Z)AYU.SBU>;XS_V%Z:[\L\(5_S%O8PB3QX[%^9_XWA
MOO 5=A!?B/<42R)/B4W4ER2GRE[=09-2:([)7MNK)JO@TTR/#U_(B@;<VF0\
MGQ0:]:%V1MD"O6[#W39-UI34(C#-ERKQI=EP3\_15:P?J(1W#[Z]+5KQ;^ 6
M$;:2Y+H+ S5R5.%0CRKD6-&C"ILUJE"/AUAZOFYZNUDNZZ[JIX@7W55=4;SH
MKNIJ(D8+,C7QH@69HGC1@DQ-Q.CQ$'H\A/)-"L^K\:Z>(5$N1SF9&1*U#Q)0
MO=%WWMNSIZD25U?7QC6[Q4FUC:I4TT,EU ">'BJAR60[,FG64(F#RQ?U3I\G
M:KLCK>RJ#*0&]< _(I :U +_U/FM42#1W*6YJS')[NH Z2PZ&U2 <*>!$P53
MO=&IN>HGE.I^_.IGPIKCUM :-YP5-B%=CY@X)Y(>M/K]4</SNW4E?W-&3#3.
MLCNT"G :HK^I'?B'IIXJH:=*G!9-=[NU'_"G0 AGX0'0,R74E2<J%MX>6D-0
M</O[**"MM2/)6?H,=#6Z9B:NH>N9$N?JK:B CYXIH4(#0MTJ_W1;Y5N=UJC&
M5OG']HCHF1*:4?;#*(/6>-AI3,:I'BEQPA.JM<-%F7BT'@MQHAWK-8<IQ&'-
M(A[-9-H]<Y[N&3T60H^%V(L]>0J>[6[MF:7'Q+?*S8YU+.D<V:O6]N)Z+(0>
M"Z%-1AWP5\V"/#VY76_[>0639U36E-0B,,V7"O%EM]]P3\_15:R3' NA^]0O
M/5]WWUPA:75[YQ/'BV[OK"A>='MG-1&C!9F:>-&"3%&\:$&F)F)TGWK=IU[W
MJ9_7U.Q,]ZG7?>H/6/&@GG2I)["W%A#7CT'HL@?=F5ZW''\R\!K7F5X3CAK
MT[WJSZ97O=9X%8=2@_II'Q-*#6JHK5E.<2AIEM,LUZ#47(6@U(ABZIJL]\UU
M12NZV)=,^T9G$ZJ? Z?;?JN?O-?O6PWG@TT8UVWLSXF>N^-:B^=TW7&#O/NZ
MB;URI_]I"/ZF-OP>#9M$T@<^R,^;.YM*TF:W5II6N;N:MO]W/]]U#WO%;/UC
M!V</VHE$O>W7+X O&LY*QW<7Z,)9S4KULY+V5#3(4U$!']W 7H56:;HO]PGW
MY>[J[O6:2S27K.>2?G?0F Q4W;M>]ZY7AZ).-ZE"]ZX_T;;:FL,4XK!F$8]F
M,NV9.4_/C.Y=KWO7[\6:/ 6?MG52*2<J=V354:1S9*]:>R ?NR.%[EVO>]>?
MA+C1H7X=ZE\KM[NG7F6CLJ:D%H%IOE2(+ZVF5PL=7<6JMW>][P7L0G:";%O#
MNGTYU8$MW=U>=[??C7AVD,6Z*?2)XT4WA584+[HIM)J(T8),3;QH0:8H7K0@
M4Q,QNKN][FZO?!<TE=,*G@L3W<N^G/"N>]DWHV]P/8&^M8"XO"56:F0O^V=B
M7S<@?Q+P&M>Y7I.)[E-_?#)1[W31FNHIP$0WQ%:DF=4I@$DSF&8PS6"-[SBO
M"YZ/7ONSHK]\R=QN=,:?^GEJNA]W Q+L6N-AK34+"N:^Z@[SYT71@^&HX5FC
MNCY8]YA7ATH4MMX.)_J;VI![V.LVB:8/?):?-WLVEJ8'_7/Q"F@GP.X'O&XR
MKYC!?^S(ZD%;AJBW_3U,^= N@R;SA/J2Y)QXJ:.=%6?JK*B CVXSKT)7,]U
M^W0;:'=;P_/*H=2-YC6?/(E/>OUN8Y)(=>:%;C6O#D6=;GZ%;C5_HEVP-8<I
MQ&'-(A[-9-H[<Y[>&=UJ7K>:WXL]>0J.[7ZM0?IC.UI4;J"J0TGGR%Z])N7
M').]=*MYW6K^Z":C%M(ZWL_''-=:G*!@[HS*FI):!*;Y4B&^'#8]#^?H*E:]
MK>9S&$8%QIL^%C2?XFXW,(N(6CVACWSMU+IY+X0YLY-1KU?<%7Y^[2W@<4Y>
MO7OWTX>O5Y?__8-WP(5W!VM7_CLS7#;U F8LK=*P8R-@"\,+G'#&C)<^:*:O
M2O7:'X(@=.V%#1^<-E5J>8O8B)-)[+F>'7FP$R\P;,<!660'#C/NO<6=\5O[
MNFW\?'GYV9BP:1@Q\:(%BUB\,-@#IH/#*_FK7[7D&A;V XM;L-XUQ6%&.,4G
MV<&MATNTXYC!@EZ"&'#NX,[(^P9+XCN$!\_])#:0R?%6VX>/" .L/(\-6)B!
MFS;@H=YL;GL1?E_]?%S%;1BZ]Y[OMP"KU<GMK0W #,* AAI$H>^#V$DA GO&
MGV#3213A#S$#88?@;-&;P\4=BV"9[&(!E *OA%O:!F VB<MHA?>P;[:?V N\
M$F /;TA\V -L+)S#8W&E?$>+B 5N##A:W#,6&%,O!O%JP#5>Z/(K)LSW8"W&
MXLY>P'\8O&_&[#B!9QHV/!O@!JBQ 6P(!UAA(%Z41'QW 7\@P'I&Y"'N)DC/
MH]!A<=PN=3;-]6]U?&9'*.OOE@1(%\F[[@:N2^Q6[+!A]:1$3YG+&BVO_3\*
MS6?3P^=">*W%R9S;E6AZ:]%I=,LN>&];>PHO?FW[]_9C+'8Y&K6MGG2BO$Y/
M=X2#T6^/1M\;V4>$1@F4.%(C![""5<OO*@[-$-]M:+ KL+((YZ\M4/#VA)0E
M^=;-26;;N(O8],<7?_KZZ6WE"42R.D "] MI)N*K%W_Y2OP)5/LVI($C<7KX
MV'_)X7<M51(4+T!7RQUU'(S9ET7PE^#*?P0.=%[B%<9_&1;=^6H)X@7$%1P4
M_(7\JQ6/WQNO;'$T(:CO&,A=WP_O4<QQP8@2T?90)(&H@C\<T A249^=)+6<
M5=B!9$E>XC$ D@W^Q9ZP%S-8S5TJ UFQ-ZR!O1_IR=C=#P\PN"U,0$ESXU?M
MFL[\5/':5<NRGJ5EG?"TGF[;TBW(U]/.#M9LG3,N-%K40PN<XEV-%P7QTFN;
M?8T8]1"CY9B2:-%R3%&\:#FFU$B8#=KQ&818-@AP)2K(=NG"_^1)+UU@S;%2
MB3J'F_2B'-OD#>,]#3]Y&P:$67O!W/K*,4^*EYX^T:+?'IX6+]4[^$13R<E2
M2:\&R=K(/+^/F8]ZLW/Z.N>8KHNE="I@E0VH6!)(+=V"N1%U$MV"AZWA:%BS
M-J\903-"XQAA/!H_NZ9/>;.$=SOX'(5(]V% \==\_H_1!/6R(?Q^WB#8Y&=4
M50P,3*M!OBWUZ4"S0F-9H6>5*^S.P9SDA^0'F3$K,V5EZFP+LZ&TJGQ"JK+Z
M4%%2SUX/IU52Y:5I#5]I@U-SD>:BYZBIY2+*$S56-TPKTCJZUM'/6$<W6_U!
MO?.-SIT2-#,TF!FLP>",3=;5<W^TFJW5;*UF/V66ZFA4[Z@?32^:B\Z-B\Q6
MIUN3*UG]0_CCJCX#6CVO3UCHGD6;)8<Z68TUB9$+;>=J1M*,5,-Y?)8V,E_(
M<@>*"Z-8AZ%U_(/J^$>?(G6\%,FC;WT/@L5J#<VR!T[SDN8ES4L[\E*W-1R5
M4Q'WU6=2MSO2[8X:4%ZOVX2<%EITFQ!%\:+;A*B)&"W'E$2+EF.*XD7+,=WN
M2"GK_2"1AQT[2M0'$]T%"1^CNR!M#YVKJVOCFMUB3WK=WD:WM]%-D#25Z"9(
M>VF"5)"T.C1S,JF,QXV\-"^P,FP-AO5.9M:,H!FA@8S0LVHJEE'Y6-0=CW35
MG*Z:6R<&^K7W_SMO.M"LT%A6Z%GGF1JK.QX=6UYHJ#1!SUX/)]WQ2'.18E!1
MDHN>V/&HK*6>J+&J.QYI'5WKZ"O=MUW=[TBS@F8%+!$9G'.#7MWM2*O8"D#E
MA%1LJS48ZNI-S46:BY[#1:-Q.;O@1"U5W>M(MVA10FZHD[RH>QTI2"6:D<Z6
MD<XSH,L74NYUI'. =7N62K#I]BR[RA6SU>^5W6^:ES0O:5[:V>]D#E=XLG6K
MHU"A5D>+<+ZEAV+/=?7E8GI86L4.&UE4KYN#G!9:=',01?&BFX.HB1@MQY1$
MBY9CBN)%RS'=Y$@IN_W4FFOH;D;%;D8<7KRE$?],?8W$UT]M;K2]=:F*@WTM
MI*X?@]!E#TWK;O0<X5*"PE/;A^EN-KKGD>YYM.>>1\ORMI$QSC4-CTH"6 =I
M3B:C\;@QF :&6"H&(VLVT&QP;FQ0D=]^6H:)+B'5=7.Z;FZ]%- -CYK%"9M.
M.6DGGB]%F]VG=$=HN &HRT"5TG./[4TYI(10</M[Z+BBN^1J5M*L5$MCP?&)
MFYU\(>6"DSWY8+78.'X>^*'\3L?>YQZD@3G2!JCF!\T/DA\&>M!U ZH_2EEN
M(YUTN)YX=I" =29/ZPGD"N+%;/=-C1<%\:*SI]5$C!9D:N(%U&W-+RKB!029
MKL]1J@QDK8)\!I;Y)A'>*!#44@W2.:VTX[W.MMXS]]3C\EX+GLM;(J_Z2T .
M$ UH2![_8'A2#%5OM8<F$UWNL5:^-BSCAR\D5_+QT@_C^%6I\J,D=VMB)IW
M4.73TCGO!XJNK"> U>/'^KUZQX]I3ECA%#E13CA.7<L>JC\J$K]/SRXYT,3K
MTS'L]Q//.0<0-#5=WJHWLU6SPOJ(P#F 8)/S7556* _3.PM+<FGBM1ATK=7C
M4S(4U8>*DE:F"@-+- NI86&J#Y43,D]K&572"./T .T)M$ZNS=.FFJ?#7KTC
MKC4O:/NTJ?;IL*(*^8PLU/UV-]!J]O:6JAX?J&NYN9K>ZVA;]TBVKF;")]G"
MI\>$XS(/GIZQS!=2;JJPK_2F\^8>?O ?N[I:5Y$_V5+HUSN.4S/$0 5".52"
MT['WN0=%M67V5K2[5:"Q0G;A4QHKU YS/&.]Z>.:O1#Y83^(;1*TO[ X\1>Q
M$4Z-3W,6D<T>IQG;!UE]=[!V^5_O&+K=DP!6Z07& O[\]>K/]FS^YM*8,#^\
M-^[L;PP^LL @;9*Y;>/2]PW8#J:OV[>PV.P28#@G\6W44Y(8F$/>(]_1;@3:
MUM4S&5B;0=&*0O:]"EORBOR%GU]["WB<0Z3XC04) ^KS%**^$)9G1&)IQCV+
MF/%=?]3N&K :7X:%OK,&[7[Z#28R(IDN"$DSCB2V#DDM>$,\9PY6J_J/+?@>
M,R$C9L<,.?.[KMD>I8^'I]OS>10^>#,@8_\1EMOY_H!DNP%B$HW&- IG!(>K
MJVLCYB: !& GMQ\"H#EN#_<+0',- /NC[]L&"IKTIGL[-N817! !"$MU&W?
MBRPROH5^,F-\H_!&]N !M$"D. "U<,:B=JE -U>&[/C,CO#4OULZ7KH(Q[KK
MD)?P6JSKL7I2:4FQ:(V7U_X?A1KJU';'-D%A]%IJ'[E=B=IMBQ216W;!2[3M
M*;SXM>W?VX^QV.5HU+9Z4K-YG6HP" >CWQZ-OC>RCPB-$BBQ U$.8 53EM]5
M[#$DOMM0)RZP@@.;+= Q]X24)4;J9BCX;]L ^I_^^.)/7S^]K=1/2'X&832S
M_<)(*_$52"\B6&" MR'U9XI3U<3.%X^OI4J"XH4):EVF"'$P9E\6P5^"*_\1
M3]Z7>(7Q7\"S>.>K)8@7$%?P2O 7\J]6/'YOO%*+#)3])8MRT&IWEL1@>[Q'
M*=@I"L'^LX5>2>(=4GW:@(.M3 _!#V5\2=?5TKF5.^4)7[T]XVNP[M1?@;[
M\>:VOPF!8J]Q,HF=R)N3WH\7A4F4;O[RPP4+\&X77N(""J)'8PY,!SN=J8/H
M3P%+Z4]:"'F5XY8%:-B@BE\ X,#\GF.B]SU"&V][&\Z '![1CC.';Q >!>WO
MN1AN&Q\!P M$0KI@VW'0[H!'X---D([POUD8$04LO=]-(F0V> !@&\P;+W3C
MMO$^B?"1K=PZ$;-!&%S\UKYN9[RY_*X!WW^W>[#]-\,0N?(B6+&TAP'@;\-X
MH999(I88IDMT<(GPWR &B8SH=/D5B AX)/_#MT''XI>VC-!Q$D"V\RB_<.V%
M;7#%T+@+N5R?,@:_.'Z8N,!/T3?/H;^Y-@'T]._$XZ=Q^I!U&7,M8Q&!(>[#
M_YG/G' V2P+/X3Z'%J4-)/AR^2*Z/T[F<]_#MX*0\P%\KO'RUO:"5P:65!M<
M[M[;D4NKBFP'5P%?@28$BTJBB.$6@81M/^&KRMV.#W6BQ%N0H. PQ)=R'A50
M$SGWP UW-NPY(HF+#T;(@L -OWFHHV3+%E)4P3-Q!=GPPZW;SZD'7!L9[/5X
M,T'OSY]O9D>:8;BL56J)F]!A)G]UC3MFNR37\&LD%R"XRK.NTD0K'J& 4+<:
M1G")G[CPJ._,?KN7004?O)K72$>EE!A\1K8)A# 7Q@B) -!_![=QXA-+AQ<"
M1@%T\1OY59Y8D3,Y%+/5I!<6&';IC.>*1?F>M9R+=SGVG$0DLJ +1X(/((*7
MA-/%O1U)A:6;/1? G013^UL8D0+BP='BT'8E=[('Y\X.;IF!I[,Q]1-GP5E4
M+M(J;TQ('@[/99V65AT4L%G@Y&6<+H&B;:S@#Z _.^=.K#B9B8,&'7Z@#D"A
M>+ZJ@'3IL@UTN<W2JK@G)2AQ$3P?5$:I,N'I,)W&U+["F-O 3I/'E$Q6L4>J
M=^&&EM1G]46@Q%?95U5P'7&QV,W)K3V(Q6%.ZJ)8[ Z6-?T3$5/UB)RGB+]]
MB:FG22!KHP2J(L\*UL__O"2;A+$S&!Y,-L72JGC2HK=Q1<BK=Q97C1%'U6XC
M<RG8P&Q F@ V(?6"D"I-Q/6XW4ASRVNH0.'R)47:&_8Y[0W'AZ>]9RW>CE><
MEXVAGVHWEK7LQK+V>J#EQ"V=9[WMC[-[PE=$06I\UA[5P.V%\#)0*VAJ^9(B
M0_3Z&2,\CW>;X5#Y.4)3_7,43CVN?O O?J7'*>57X0N;\Y5ZP/[PCF\ _\EC
MAD*?P275I-0R[N\\/*( F?Q1_%5YZB@^U?6$]^ V_V;L;;PD;!H91>QV=!11
M1Q%U%'$78616"R,\";^S\I8GG=SC7(BH'MT*S=OLF?E#]'9Y/<=W*Q2E+*ZI
M)YPP8#37!) R"'*O.SX(CGQVKB#72G\*DG AT8=(>+ 7$C8WD_"J-6["Z>[F
M9I%,5[VW.\X"<GLFW2W]"3LY$1MGA6\@W9+MC>3;63:=.GDO6SW4V]F%>*M6
MN0E3*^BQZE'64 3)S8/1Y!8F^TYTJ3B9E4QT)+/N<F*056-Z9$IFW>W)K&J5
MAY*35>_N"Y]2O[98RT:ZW,+L/QEY667MFUM:^]<,: K63-J*._,"+UY$I&,;
M[T0H70&;/]M-?KUV<;UIZ#^76#&W'Z,0-#J\O!@WX;$7CJ[9S(MCGM<P"8,D
M1G13.L.*/@EOD-K^8(ALN-"EVJ"8_H"UN!@1#Z8,<QE$]$6^6:[P#45GTA0$
M(&]&I)^_-HV;B% *47'V@/3G0L#D#4D"1INQ^:X1&(F_L$5XYPW/@4A[^ (;
MN2 Y,+\"?\SR*9: BTX.C-VG2V@;C:()X8OO+XOJ?'% _<[40>X@@(>/S IG
M:KS-ZM=(J/0B.XY#C,_!<N^]Q1UM)?^B3*%XRA+26*5X[9I[JI@N?0XE^&<%
M!:W- <R6$=N^'3VF2X9OLD FO45P;1I3+'!!&M6T*J*/Z;H0^2E7I\NV$;7>
MPF,5L4@)B/41R_*Q81<B(IS;ML' DN>\;6Q#]UMF0U@RO; VS3&_QVUVMVMN
MQ(8HXPZF_';47WB:.EKJ-C2P.EW"-'/F/,G#?J[6IWYYV"]61J'_3@M$$HCF
M<01B.6GKU 7BLY,SK*XPLO<2(-]RW\?.U-ABF<V4D=4Y')WE$M*\UV<?,?A"
MJJWU9#&9RJ@U%_.DLI6BJ;.-:*J6/H:-J=XH-%;%^/?.Y<].AS&EZV(?GHL=
MF/VYJ3$KF+YX<FZWGA4BX10BX*:.@.L(N(Z /RT=9Q>Y7)WJUEU.WK9JC-=4
M';,%[PPH=$<\90=[,0#D$;S!$"@H'&KHY\_.V^L+ET:O-CW]B4?WLW:RQL[=
M8@EK-/@C!-R>DY7X@<^:^XJSYA0(2&3+_IUA"47(]=PEYWIA0-YRC?@> M(O
MO[ IH!9(Y&.X8$8/WXF?J,H13D,7B<+%3]2ID\30>R^P \<#:7"]@"_(O94N
M!8,>84!?"6+.MK2TUR>EQ+YJ"/7A<&!.@4K17FYF,06BAZ5&/;EP1TV!Z$'N
M'86BSXK,;R%C]IY6E2]Q>H(WEP?[[%R15)G$Q0IXC?+"^'<"ZY8]@Q0CA979
M7,/E9*X]I,,,J_(4]EL?Q$.UVQR&)XGF%9E/Q;!F4PH7MF@ON*PKW=F(U( M
M1(^!)766XSS(X+9<Y%);@DZ6:R9*$,LE2:L*$7:47QN5NN/3\7-.V[0W=:D4
M1<$BE-6+7?J%KYU:4F"WEY\O+S\;TU3YFH&@3"*,1;U'.Y%T2OC%]]+RVEU?
M!%2')###PG-.=_XC*70VKYVE!8C7@LWIDZ2.&:^' 6M6AG#PW=ACQNJ\^2C7
MG2F-OXIUTR6F^6;79=*3X38PC[\Q=01-NM92&OUW5G\YK=_<@YIE]G)OR1N>
M]LJ5'3^[W5@"6S[37T3->GM)3;57OO?X0%&<IE=JBU8GU]F Z'RX!S+OYEZR
MF<Q7+;:VE-9J E[UVIZHT^_N)3J$3ZLF;%T0L -AK]"/2XZ8^EH";Z@,J"9M
M@?"JU:ZJ"UA/K%5/ZEIUYR[L1K#[J19H9JS1TK%&'6O4L<9]B/P553I+WJ_N
M/D3^+DK[NN4>2*.I>O5@)#K =/:1X+;YD#CWTIV=W21\A)>:7A$Q7LQ#'*YV
M>VSA]1 /.K97@R]#=:^% !:OX;;*@J^^'&\A^$8KS+BJ%16Y-.>9S7M!5U1>
MT34;VM9N]O*7Y8$?WM/%H#JQ.*VS.KX;=4>$KR[D-_?914H0P7A%C6I)&&0>
MD^N51YZFBSW0Q0I;N'=06SBO#:P@C356,,?(^F:4345/I=[:61;?9HVYYREZ
M>KN@9XW"RM&38]ZCXV*#BK5N<-<OWK\3S\6=(O3>\OZFQA<6APEHHVI-7KO&
M)NV(*AE)0@W'+VQ -&A% N ;:*% @[]BWAU]<1<F,5R(G=$P@\[&1" ?,!J_
MIFWRB+UT4/#1A@Y<8,]C]EI^R.\*5RR<%&C"BD: !;O73A9AT>BE;PJ&:ME.
MS1PX(VZ3+B*Y+O$^DV-WRZF]PW9O[=3>G F=>S[61$\!/'*FH/R;!I:\YMZ8
M>P#31D>(\$L5C&][$H=^LJC?^"Z."%TS2W&^_4C0G /NN1-2-2*40(39M@8:
M$2H@PFKW-2(40(3&@QIXT)))%41HCJ@5$31#F_ZM1VD]X*X[.VQ[K_IAW2'#
M31;BG_]D#CIORO]-34.Y73"/$ 8_OK!>/)7=NNWA6L&WYQCV%M!(70ZE[>_E
MR-7(/B:RKYC#9A,6<1B4D*ZEF0K2;*<]EY"\(Q!J(WOA6Q(GO#E_,*A>S9 Y
M,"JS!3I;FR+^-'4<@3IZ=<C)+#WL]9\<A['I=._;+KADAVU+0D*XIR_X5P50
MO+7C.^%YA@_LWXGWS?9YEE1-LO/ <%#O".'6\!'(H0"&[^K8"8F[(^PDQ\\4
M7<@'6;J%G,VMII3W!ZU^?U"GDG!XL&@ZUW2^B<Y[@]9H/"QA6#V]_XF'U^]A
M] >E!/*HZ>FI^P?DVX,RJ33*:^+4AK%EO]NRS%[-QX^F64VS^SQ*S%9O7*99
M.DI^H*R3N@C-]P)V(:,1;6M8.^6ID KT*5A*_L)\'NJ3X*PRR'AWYD&^"QE\
M _B"I^",ZRRQ$W.][IA/\Q##)$H'+V/77\_U[,B3G3:^ZXZK[A,)8;\%'F8K
M4=.AN&U<L1B.69ZF/;?C6+8 AS^Q[1GF:?KVO0'Z$HO$NF!/,QM'/<[M1>31
MN&?X.>;CLS&L%#,L'<!R*.S C&<YI<IA)V;G#J#'6@8?'(G[\"@WJ85)3_#>
M9?@M0@-A/_5PU3Z^U N^848H/C%]%W\_]DA; 9BC#TTH]*VZL[\Q(XF9R_$U
M]VWJ&@#?M&@'JZD%TPY?>J_2C#(.#*IW?@,_P"\(%_8 ;"$2:^F!HLZ"!E7
M57@9<^Z"T ]OL9==$'X3XS5>>M]>85ZNFS@+0'( U,!+06@H!X[VOO6<K#LU
MW #7W[( '@^X#:-Y2.._YPE\DMWQQ+2/^Z):QT=>O/P&:X%+@<5]9DR2&,1$
M#+3CP)YY:!$K:2HI0W#6TF/Q2GL..WCP9C91S'?]W#A (C->M0 \ ##??'NO
MD,%-2Y$>>+F:7KDD<_FY7IJH*:\BQQRF#E*W;N*=Y1)Y(HXH!"M%<A>E80,Z
M*=N6/;#(\>*LZPAO*I.6W8"@D*^G_&G76U!^HIM$DB?Y';BL2>*!C)@F> G>
M9CL@<=7)W 6N<3W7",(%YQX[>#000Y%'A#>;>8NL@UKEKJODBU+[FS#? \P#
M7NP%<2U[\&)>'+52'N"7E"0?V#X0*^=$%.]<(MX#V?(T>Q<'UDRGGN,A.XLT
MU&*F*A !YO3'4W&^I$4Y :<_+!1:&%C8LQ#'PP-N028_$WU2L0]* #I"@.B_
M,! )"[7$[\P&D-E8'8BL%OK?$,:HH."JQ5R>J>V0SM&6Q4K7C/'F?F:W9?PB
M+GY+%[?D@9FV_,,_=FG[)QJ9BC,:P/9WGJT-*.4 Q(:D[\-H9IB=B[^WQ#GL
MT8U2Z(KQRV+^$1SY>%2*>BD!_V;6:W=UO;:NU];UVD\V22Z36[C/&+5$&0HH
M3E//IZZI7T"=XUW.0+ZD\B@5-M<776QMFKOF8]@VNMWNA34RN\/Q*^,E2CHA
M(>4M0N:\(EW+GO&B&'P^FR^XVF0.Y%IX]9CCDSK&IE->'H-7?W(6(5W;2=<M
M1\E<OWN;BD#9 =HVL#8-SSJJL4EB?HS:5$5A)"2502UB4=JTL"5.+&]&:AG^
MOT4F!(KV"$ZUB/$[ .N@R**.$09< <-.T2AH<='B"Y=-X%AE#JA6"S+$[NTH
MLLG B\!X\N!#,L?W .?8M[<1N^5Z\L0'?5J^!BNJ'3&PIY/U_.':98H1$OL+
M#E9X(-:1L B!AH>V#TH#MY;QM\@&]3!5AZKV.R5XW-^Q@(YYYC:C0(@"G.\1
MMX>M!=JPY(V];&G=G[E"1@?VI[0"_C(=\*-403FM>)Y;<<Z>Q&Z)V5BB[4OB
M>&5LOLT5[V"+#R0B7>H:.<R/K4M[&.#[L+*=*\7YWN?+PP:+?=0K3+[OS&PM
M;2-MYKQ&C<LI;WBHI>1(JYHF$?5J=QFHF;Y"#9OJ1V:/(S/?G'@)E_B*)7SF
MVO9MA4]KJ6G4TDB;*H3F;/Y&([06@?.;J#/\0-XBA87-^R=4U1*Y)&*'W*$H
M=YFC9]Y9;[G@VLS\I!7EN;FCL^!)H!I-.*K!C)N3V2V990Y6]9T8<I%SL*'!
MSL?(9MXP.K(CT!. -9!^X:=I!)9UE#CD@:%3&;Z/%]QOQU6EPC)RG@X OROG
MU>9&V+;3TMG2C5M">88C,,A9%!;!)T;]HF9'#%TN7,^U0F@5^[ZM[#?#:^#+
M'8*7JM(5\B9<9:ZTHCM$>KA!!?203!!2I)%64M1F5!)PPN VI->EM-7*$1?W
M!16H*)G?XEQDX0C*.38)GV91#AOH:!!.XX*CGWN"#MENI78U2WA=U)5\I9-Y
MFJ[XZ2I67L/*FC71J9RZE0'9*YS*I9.ZW*5C;C]R@W%J^$"<%PL&-DH(-LVM
MG1]"F4VB40O>\M1X%JQ[2[VPZ*%XLP!.O!HZ1?&:DWSJL-I:(PQM70=DV24?
ME80;^0P*E>.)V,4[>!U*&[4:-GQ*L/]8["0TC4DHE+;_&'NQC)=Q%9;_F8;.
M6INZ.J"\YQUR0JZ).*FJZ>15S<RS'J=*IW1H4'!CPA@R+.-1*H].6Z"H&;Z9
MO""_M:_;U'&+NP;XI6GK+CY 9NM7PP9@6W@,<3?)S/Z#&4RBCK;ZK\05 S^X
M5X4<-?2>B-S3S!6T3""S8Q 3!"Z;7!'D#RD$M8J3(1 9?HB],\@!'Q(E\09T
M^""Z)O>LMO$)L9:>A@!RCSIG&.R;[2<4?<#H2?4.\B')Q5T8LW0N&/I+Q-P4
M;(=V&WBB?1'ZD/  Y,<TCP_@R /QZ(DG!@>0(2->0@SO@R[IIN# H$-P2X%.
M^=5M&+IX-+<,OG*!0%<ZES#Z+J_%*PA F9>)1^5]BK"O:M"$:%@(B8,SS:+$
M]N%I^#M^,V$!FWKR^;D51-XW/OS "U"?R,:]2+BZZ=,(+M] ^H5(0+!D0&\H
MFNIC7(LTX@)&X"5WH#V&$8D/SH&9GB2Y#[]?1 P#65S[25_"1Z$!9)*9F'9,
M='F?!=%094(#,0S(\<S3%X@QO,A)9D#]@5.,3^>?9A,CB& HTL0BEA9!M@GD
M2'HD$: 8VTR&:,8N]B1,.*,X=A01H@B/.3Y9)F_!8C2M  >2V2[-;IFC, ">
MX#8U'P7'Q4[;^.D17^&!^6POJ/U>CO8C#/Q-_D7\&G++&4-#\"27W>+)!@M)
M !811L0PW@4*4L*E&B$!%4#7(\]I:LX760MDO^^*J*P1@U#VIH!69%^7\C.$
M7W>#4*P4N?3\3&9)A[M"!@"*W\*>LZ-P+H]"J69P,8T_[7@XD$P$].0"A"(L
MB.A%ZHKM&;4-XA*-MUN<L#3GYRUF/ 2/U%1Q^"8V+H,@H89*R['%_VD!,?B8
M@D$D=H_N8R!#F:ERGX]2XYL<J0)4[5L<$[A9\J;GX;3J?)&9#,43;4=X-;D[
M=4]'.W6T\WRCG24S8XT>/YU>_&3[I)E=WS&P3"\QY,8SUF)E3HB/8<#:JQ)<
M>;<T(Y_(:AN>^^.+&]=E ]<:]FY<JS.XZ;%._V8T<J<WW9[3[9FF.>R9O1><
MH/@='T#X=?^>H"*U(/R 8(4_??'7E52RQ4T'1Q>N3Y2LM_-%_/DETV&06[21
MKAI6=4FZU*^4>VA\\>(_%$+Q A4T./;D:+T8Y(!/J7SD5*,&UW@$>W)T@L!R
MOS,8CAGKWE@]>W+3<ZSIC=V96C>F->UW6;]O]NUA"<L]E"I1Z&/+P,_HQW$1
M/C=CH(K!Z/CH[170*]=*J,U6JPSN\OE@.4/4R2][GB[;> E*5IR H4[.',SJ
MQ-QDKFE]24!S,LRN?6'V7[)7=*O9=\5?F0ERG1EP[Q[$R+I+A[QHYKC;*^1-
MO,Q?\:J5&0>@X\&.N=D*:E$2B<1!CSP%7',2ACW/[V1R>YE:R*DSEADAF*H
MML(,S-MLL845>G$Z<[?%H1)3%C-83NC]0M<UG[0MG +HK!#OHKP#.?40 RV@
M"68KR8&$'$?RI6\QLY/\-*GN&A&4R3" C0H7 FV=\)+?/_K?';#V$F[@<V-E
M-DL"8%1A\9-RFN8YY^U!_"4-\J!;U$EX;@IF48H\DNSW3 T5OW,LHL=]3CGR
ME,I.K@0"!3;-!QC$9.5@-DA$+TTQEI&B0L;.;RE5Q F@DC=O%I:!3,Y!US"W
MY'.Z^],A7+RF LKWW->5.!S#T@>4<X6E:4646BY6M)G5"8&2NSD_%'@!N3UC
M]NKZ!3#-I3^0K+9L<:TZ=H]+%XFCR "K:BBVVR\/:Z; 4HCLOJ+#(N<9#4(Q
MZ#/.0KX\!5KNC2I#<O#*CN&MY??T%8I#(;ZGKU9(Q%?Y9/K-41D24[01F;N.
MKAT".8I1S+#.^ZT>#=_[ T4%>667;FCMMO.Z0@I[J1ILI*7>UY:ZMM2;:*D+
MV\,9]>Q!K]^[F?;=_DW/=<=@>UB]F\&0N<YPW'='TU'!]OA\^>7KAP^?OO[U
MW9</']]_^O+KY=</GS[>=,?#T:AW++MC3822N-E%?96.W"4^7/X5"T!>\X *
M?"K]S$F)_([P5@0%MV\^?&AC='-5B[J*IG5'63!AS<BA+0W)9G:E^0OHH?YG
MGAF 6<\WX_%H.!H<WZ0T"R8E+=/(K5,9324M$AJVN.FRR.)F;V5<DWSCRE8,
M%=P3G5%O,IK8[DVG-T 1,7%N1NYX?#/MV4-[;$Z'XXE=<D^8E^B<>6\[BS"*
M;T;CX=#L*$!"EVUR&AEB8<K0#.8\%HUV:0SFEYN.U(ID+NMGS,'YT#)PBP;N
M3I1AY.^2X[*$FKPZ[)-FNSS"X29TUW*5:YXTAJ/AA/5[YDW?-,V;WK +I-'O
M36ZF77/8'SC#D=T?ETC#^BV(J)P$2,V]MD'=#J?OP.)=/&8.@..3BE60-ODE
M&[1F9%Z^ZF6_Q6\\]U.(IN/16&HTD4T78&&G6'>2WPWCF\@E%(3DLA1IK'1#
M^9I=+)XZK8Z=0;#.,BD:%+L8*Y+^.X.1T^]U;SJ,]6YZ'6MR,W$<\\:R&#/=
M26_")MVR?_Z*36T,<_\V#X-K%GAAE%'0S=BTS.-3?]$[+Q=LX(H-ON0<U1^3
MPGE@Y53IBTVF4P<%*G/9]*8W8"8<O1UV,^H-A]..Y=J=R: <&?@5-,%K>\H6
MC[G("8CHX; [/#YI%2,#N%:#+S8?Y]$DM3>1-71&ICLT;P:@U=_T;'-T8X_&
MW1O+&;%IU^WT;'=:(JG^)TP$^9 I*' W6'S')Z9^@9AHE49NF<?-H.UL8Y^^
M^ OW(7<F_0O3^!K9I/5]]NV@SH39VNFP4/4@QLI5'OXM+.=*NPDMYR!) O4>
M7L-E'Y,9K-PA-R:L[ MZ=> UG.),^ <?>/,UO.G>=,4?\]'_=$>W]Q_NWWF+
M'O/8/\.?[K[>OS X"?SXPGM8O)YZ#\P%L/DQ>V$$]@QVPQSW-<(=P6Y>1M&E
M&\[!%GKOV[<OB.H_VE%T\\OB;Y]">SB\ZM@7]W_[_Q__]L_KT?7M)L#PP;AD
M70CN*^QNP]VH?1T3*B#]-@/&]R[<=_<?1\%OG^X?.IW>./[YK^\W D8$+)X(
M%VX>490CI2-)5JJ0T==H%BR6@34./EUU[_VWO_R1_*NSB#Y<78YGD\M-P+)=
M7HMQ"D14"99_! ^#K__XU]S_S?[E[_]\]^[+P]]^7VRD(8S8>(']#,A,#3NU
MDG.2=R$DKYVE#TG#&8 I;L#*U TWM=+IU#(1$Y<<BW!]%F9BMQB0II8+F'!)
M!GRO,VK7V\[N^7+_Z0I',P,Z QW0T0&=!@=TIJXU<+L=\Z8S!KNQ9P_9S;@W
M[=ZXELDFDW%OT+?++KG!NX<[8.E%?-.UQI95GV*_/E#L>O'<MQ]?>P%U!IWX
MH?-'2:OFN^RTN_Q^@<C)"@E?H5]GUL* HC3K#XCB:*&=7R8!>5C=O;,6S+69
MD"J.();DOWW3\W&[TS_J')-1"5OKS$-!49PB/X;M+<?;@/A.&RJ/]MM0>;?]
M;#W':PM4C@"7HP;A\HIJ<H1>_XPY- 42QH/ZL'-X#M\T_(#4?,26Z!4T?4+(
MW4SC&98Y@1^T"7S7;)O_J4FQ@A3WO<,*Y::X:5N^YB)FS@5<'=G.XC7C!^.;
M_+O__.\D7+S9N )^V3(YO!!VAQ>$[@6Z0#K=KOG 'KJF:[;O%K,J\.^XYXV6
MRUM$QY12T\E^N?/8U'B7Y@5_$CF_\R2*L60&<P"N>?MH,*$LZ0^[MJ.)';#X
MXM.#SQYE78'5Z5CMDB6D'FOJX^4,>/IL#A5+'RI*$N#Q#Q7KJ(=*EE&H#Q5]
MJ)P&3Y_)H6*!I:)/%24I\-BGBG4,4P4/BL^YP\,<47.RM^WT&#&[_0XOAN7Y
M!)5GS;@ST&>-/FL:PNEG<]98^JQ1DP*/?]8<P8+19\VQ>4%SNCYK]G+6F!U3
MD]^!R:^S!?EA>\MIB%UK,-=1]J 0P_X^!' LV L;/CCM-*][;2'J]AW,6R+9
M=,&3)M\]++!C+2:A_"2GA'Y)NWK\8@>W"4ZN??G_?OKRRZO7-"-U13EMH65<
M]5A(XV42V(F+<W)Y%Z=2*:08MKK5+)%/Q7:FF+\<L3O<S3>&H,.I*#N,9!"#
M+_)KE$-=GS+:Y'EO_;;E2Z^Q._%=Z+N,%Z4"I<@2RB<L@D^.?9553^]2.9W;
M05M5^:A/]F:+UG--I# [/4UK"A[C;ZDKU&<\(3]@%KS-QRQ>X>']WO/9TF'K
MX2DJVN7E&D^+=$0XR,UER?D#Y8>JBK#MDE?39/Q-*:4$;2+B.SA&+N ]#IJP
M]Y&=TO5HO[0L\QTS!J1LL16DL*FPYC_7$'=C-O&>1IIBTP-L1=BNEIR23#5!
MK">(DZ"(#S3O G!(ZCXUJ+Q^]Q:L!MY(I=N]&%G=44N*M=C X!I)/?1\4M76
MA-$8PR0*O/A.=!#%J0PT/[=MK">R \O"O/.,<HY/NE9KJ&NU=*U6@VNUND-K
M,NR->C>LT^W=]'J=_HT]ZMDW@_%T,'6<B>/8K%"KA=V>:;K+?CLOK&3"3KFU
MP?6'GS]>?OWMR[OK(S?3RI:4#P_P#M?43SGU0VS5?IO?R*>>!]BO%7L>^8^&
M8],D%VJWQONJBL;:HA,W=IR&UTS8G>U/L;<:/H@:]/$+Z,D12P*XBQYH)XN[
MD-IF'VW@&YZ3'S]^NKK\>BGZ&7Y\6V<'%*KN$Z+6;%O#(^GVN6>O*$Q[0M69
M?*O<'M_2 JTF'Q?XXPOKQ39&8F_4'J\U@W,R*/<NM.FF?G@OP2/_OD"]\S4_
MSNX!(!M/DIS6E5YJ3^+03Q;+TBNO+&QKY(-6U3WB[LI;DCKE4[>VC+S1N*'(
MV['TS!RV#^I02G6^H44ON+(7[/6N'IBNV>[MV<=4DJB_VH_&B#NM=W*';>*4
M>I:Z7B2OKM'<#>Z"+XY8G[G%9G^(?S#^!K:"<=TV+B?)73B=5OM:ZY;H#3E<
MU2%<!;:[AKP/7ZJYF;8U76NZ?C)='Y=T5Y4^\A%2+/;0D-$$K0E:#8(^W)8U
MI6M*/S]*UZ;I.9BFBK*3^@;LKW;DQ;%M_-0VWL5SN-SW](FA3XR3,&(U;6O:
M5E8;VDR^E&SGS5:U7="DK$FY*:3\\G,ZA[;</H0[9N3OEXX3)C3L3%[P2HT4
MJ2U14V-EUV&;M*H)SF8FF(WJ3##+YRKQ[*Y"IE+A*U3#NIS)E[/2OH6>NR(I
M+0OO3D+W$?YWMYCY?_D_4$L#!!0    ( "*.J%JW<.>0-0@  ),W   8
M:6YO9"TR,#(U,#,S,7AE>#,Q9#$N:'1M[5OQ4]NX$OY7]-)YUW8F)@F4.\:A
MS% NG<M-"QR$-_=^5&PYUF%;/DE.R/WU]ZWD!!-HF]ZU'1K2H0'+*VE7WF_W
M6UDY_$\0#(J4%Y&(V2^C]^]8K*(J%X5ED1;<HG4F;<I&JBQYP=X+K666L3=:
MQA/!6*^[@Q]\[+T*@J-##'92]U)%R/8[/W5VN[O[$ OW>V'W%3M_SUY<C4Y>
MDG!J\PR?@L='A[FPG$4IUT;8UZVKT=O@H'5T:*7-Q-%A9_';RXY5/#\ZC.64
M&3O/Q.M6SO5$%H%59;C7+6T?/3NXO2)S$\QD;-.PU^W^MU_R.);%),A$8L/]
MG8.#VR8M)^FR31EI)4S1(N-63@6-W1@UR@37X5C9M+\ZP4,]RT6_1!4V2'@N
MLWGX?"1S8=BIF+$+E?/B>=NWX+<16B;/^T[:R+\$AH9Y5MS8@&=R@L%)U[ZW
M/ZQ-']^9Q'?KX9:[G EGW5AE,60'-ZD<2\OV>CN]P\X8RU9^(R5)>C'/5!IH
MD4D[#U,9QZ* P _/#G:[>_W##@E^);TB.+G0_WSU3@87H^';X<GQ:'AVRL[>
MLM$O W9^,3P]&9X?OV.#WP<G5Z/A_P:X!:G!Q==;X7]KR?G5Q>75\>F(C<[8
MY>#$V;/7W5W8='E\\>;X=' 9G/W^;O!_=GPRHCN[W>[N%S;ID?C(A]586<K6
MT;#-?N71-;O<8<?C*E5)TF:1T%8F<V93;L-OJ=V:BV3Y.!-LK'0L].M6MP6%
MLZR.?LMK4_*HOD8/C?_Q<AJR+^)9[7S.#Q%[^[-46A%01Q$6:J8YFGQ /("N
M]00+O;_D6@0(P%;E8:.%<L$*2/ZH##V63S[2WDYSL3HV;MK^W5@Q9"F?"J;%
M5(H9TK%-I6%_5EPC4&1SM)=*6R1I]E;I'/DY^(VIA V+0L4<J7A81/>7H4-^
MT''NLW7F[\,-=C?"F=]PXQ@ER^?L&D\C$R"?;>_3M2?'"EH6"JP5G;DL&"_F
MK"JLK@2&!2-UE!8NSEF.*RUYQA(>H4DSE8,#6>7E[@D4(A+&<#TGD9Q?"\S;
M&-.@+88RF#*CG$ISD$ D-7@TQ,"L#32!?S(X590R4]'';?^9T*(>A S(I0&K
MI ?CF;<6IA214Y#&+:&:BF$F/!>+,IXWEZ&_Q>SWC]F]S<:L8(DL@ H"V"T*
MV@ LQ'%;-^[+(D%ZXE1(X>\HJV*,":0U7+X-E$I*:26 0A@G[*-"78*XQH]9
MF1IQ(G856ILDJ@P"0*X"O-QTQND3<9.R)%,SLX"U%A-IK.:8B%.CUQM:MAOH
M- ME[FF[!>@& /351@!T=,>;R0MZ/_5-#<&ZAJ$DA)I&XM+Y^9!Q+1RB@!!)
M3@+/9\*0PTB3DCB)Y4C E(3I.I8FRI2IT(]2LU:9AU:I521B-!OV DB*!:#I
MX3*XB5)>3 0[1M:[J#)(]/9XT-M_(5ZZKKW]V%_Y2TG%;^$A3>,S2HT-I'OD
MD2YK3Y3<F2C!1&3G*OXA020[?!*8_C!05P"PX>#G+S<!_+$P$ <,'!G]-$;;
MQ),C7IGUNQ!A'0NVG,E38%5I#( T26Y+R1=2HG#CT'[);=INIGZ_APH UQSX
M%H3MFA;038D4#EV,RF3LMJ!--38REEQ+,D!ZIN[(2$$C58;8LXMWQE%MEZJ5
M$5#(@AI0IY*3,U<9)X8!LYP2MRP</3RG;Y8B^&LL2! D /U%_#22_C9 >&B-
M-S! K)UB[\6)]9/SVN$"(68J8XH"W*C">2TWB"!4:5-HX#I>P!2!0W+O^T3@
M'YJ6@I9#M .KCS=W1!N5NB,[-[5!9:5+! OC"HXH FZ< JYFGX@"=42&F($[
MHJ1@1")587U<0-"2)?C&-C(\I<@0;41D$%.>52Z_$FQ$DJ"XEE,XO'F@2%Z6
M%6OP!7_Y<-WL @$Z(M<;7YV/564_K,$ZC(8OI05M/22?WEYCX\6FAHMM]4I
MG_X/SWH_=ON880OH)P3H>", 76/E/N9H"[VND-V=!X']&0F>^+V*HDH3LAID
M^H%1<V4LVNG%-L8R<*'%RRL_3,K-LE2@+.MB@(@=_7 &U-1@SC)Y+;)Z[WY%
MOOVO;>JSIP+Y#4?R_A/>TG,OBI=!H'V;Y"CG-H%XF^\H6WY&37"O;%^JQE&Z
M6Z7-DH:[!@R9Y]):(3["*,8*1)_NQQ+ZN4%> /U(X(8( G[3!L(BQH@_*PGU
M73RIBHB,>+G=N'M*R7HS-N[HU195R!((IDUHVLZ.I #D:@:]W$";"7Y-E-A7
MJ(X4N]K:O?%>O.;Z+"#7>UW^%< #"9;'Z&C$,K]^$/1U18XN0"X<N^UYN0$I
M-U6.18+!SIB:B#SX0O#IY-XM@C=I9XU8=:*1Y]K DW"I&8AT)S]JZ+8]QY7%
M5&53042WX)/Z (NNL[G(RTS-!>[.4N53.+\3& #D+T+;OX]C8-_\X.?/M ,2
M^K+??[[G<W;09G3>_=L?6_X'2T;'V-V(KUMT"KZUB%/U*#Y<!9'*,EX:$2[^
M:&KV(R9/_4EB.OY.K@3E[AZN[]Y&F/IHO;.'I@HR/E>5#7EE5;]Q=OY3Q8>'
M8]UC'QT::_$5P\ :?K'FTG\\;-\SKWX4=13JE3?,O>-BS[KNW^,QOW74,9W5
M ]$/QX_M [[_@"FI/.JGNWVRG_MD'XUYK:.35(J$#6Y$5-%N.3MK; *<:Y0&
ML-E^/-G[;U4]DI3OE?&?J5ZF+;CH1*NJB"EU*1TN8-3XJM;=&W4"VX4BF2Q$
M4%\O@-?\BEC=TOR&V.IWSTHPM6",\N@ZX GR=,BG2L:U1QP<[.R^6L+=MW4=
MC_??:>NXK\3]#5!+ P04    "  BCJA:9[()^+((   A.@  &    &EN;V0M
M,C R-3 S,S%X97@S,60R+FAT;>U;\5/;N!+^5_32>==V)B8)E"OC4&8H+\QE
MID ?36?N?I1M.=9#MGR2G)#[Z]^N)!LG! J]EN%".C2)Y=5J)>VW^TF6#_\5
M!*,BHT7,$O+;Y.P3261<Y:PP)%:,&BB=<Y.1B2Q+6I SIA07@GQ4/)DR0@;]
M'?B#C[UW07!T",I.?"U9A&2_][ZWV]_=![%P?Q#VWY'/9^3-U\G)6Q3.3"[@
MD]'DZ#!GAI(XHTHS\Z'S=7(:''2.#@TW@AT=]NIO)QO)9'%TF/ 9T68AV(=.
M3M64%X&19;C7+\T0:O;@]HK,=3#GB<G"0;__[V%)DX07TT"PU(3[.P<'-T6*
M3[.F3&IN.'1%,4$-GS'4W=(:"T95&$F3#5<;6%>SK.NELC!!2G,N%N'K"<^9
M)N=L3BYE3HO775<"WYHIGKX>6FG-_V*@&KIGV+4)J.!34(ZV#EW_0]_U:*D1
M5VT M^SEG-G>15(D(#NZSGC$#=D;[.P>]B(8MO*)C$3INIT9UV"%X&819CQ)
M6 $"O[PZV.WO#0][*/B3[(K!R9GZ_M$[&5U.QJ?CD^/)^.*<7)R2R6\C\OER
M?'XR_GS\B9R.SX_A)_RZ. 6IT>7/&^&_VY//7R^_?#T^GY#)!?DR.K']V>OO
MUGWZ<GSY\?A\]"6X^/W3Z ]R?#+!.[O]_H]VFF?B(W>;L3*4G:-QEYQ1Q;6F
MY.,.&>F2%TSP+HF9,CQ=$)-1$SZEA4\Z4$M1]/WNLE/^K](X!*Z(%V"*"0,K
M=+?U"=>EH(N0%P(&,HB$C*_:.K&A)86HPT?=@SNFZWLZU^#$*@H+J7(JEI#C
MBSI'@YUF7-W7_?Y",CIC1+$99W/(DB;CFOQ9407X%0LH+Z4RD#O)*>B'M!G\
ME\B4C(M")A0RY+B(=YZA-QD:"48BJ1*F/G3Z'7!_(;QS-->ZI+&_AAH*_B=-
M,XB6F H_RW:"(9L/YQDW+,"*. =S1<OV9/L&:KM_Y%@$D-*-S,-6";*+_GH/
M_U:0V%V:LYY)VGW_Q_3B(]66UI%\0:Y@-@0#!MAU'NS]-I%@92&!.D)ER@M"
MBP6I"J,J!FJ!%EI>"0Y-20Y7BE-!4AI#D2(R!R)BI).[)5"PF$&050L4R>D5
M@W9;.C64)6 ,-"D0GM@&"L1< 9D%,:"W&BP!_R3@5'%&=(4?-_7G3#&O!#N0
M<PW4#B?&T5_%=,EB:R#J+<$TF4 WP7-A4*)%>QB&MV:[A^[>LRC98O:?X>U[
MFXU91E)> "H08#<HZ )@01QNJ]9]7J28[' U []C426@$Y#6<ODNH)1C BL!
M*(AQQ#XL$QL0>_SHE:8A3B1VF=1%B4J  "!7 KQL<]K:$U.=D53(N:YAK=B4
M:Z,H-$2QT-D-5G9;Z-2U,;>LW0)T P#Z;B, .EGR9O2"P?NA]A#TBPA,0C)-
M.5Q:/Q\3JIA%%""$HY. YQ.FT6&XSE <Q7)(P)B$\1IX=2RDKJ >IF8EA8-6
MJ63,$BC6Y T@*6$ 30>7T76<T6+*R#%DO<M*@,1@CP:#_3?LK:TZV$_<E;OD
MN (M'*11/\'4V$*Z0Q[:\N"&TJ6&4F@(^[F*?Y! 2AV^"$S?#=05 &PX^.G;
M30!_PC2( PPL&?TV1KO(DV-:Z8=70<(:,=*TY"BPK!0H@#2);HO)%Z188?7@
MAL5-VFZG?K>1"0#V'/@&A%U/"_ FAQ0.MF@I>&+W@745:9YPJCAV@#NF;LE(
M@9HJC>S9QCMMJ;9-U5(S,,@ -<!*)45GK@1%A@'=LD;<L'"HX3A]>RD"OR*&
M@D "H#Y+7D;2WP8(!ZUH P/$@U/LK3CQ\.3\X' !(6;&$XP"5,O">BW5$$%P
MI8VA@:JDABD$#DZ=[R.!7]<L!BV+: M6%V^61%LK=4MVKGV'RDJ5$"RT77#$
M,>#&&F#7[%-6P#I"0,R .ZS$8(0B56%<7("@Q4O@&]O(\)(B0[P1D8'-J*AL
M?D78L#2%Q36?@</K-8OD9EGQ +[@+M>OFVT@@(J0Z[5;G4>R,G=;\!!&0QMI
MAEL/Z;>WUTA4;VK8V.9' NP9_O)J\&M_""UL ?V" )UL!* ]5FYC#K?0_0K9
MWED+[$<D>.3W,HXKA<AJD>DU6G.I#93CTV70I<&%ZD=53DU&=;-4P"QK8P!+
M+/VP'?#48$$$OV+"[]VOR'?_=I^&Y*5 ?L.1O/^"M_3L8^$F"'1ODASFW#80
M;_(=9LM'K EN+=L;TR@LW8U4NJ'AM@!4YCDWAK%[&$4D@>CC_82#?5;)&T _
M)'"-! &^<0.ACC'LSXJ#^3:>5$6,G7B[W;A[2<EZ,S;N\-$6KI Y(!@WH7$[
M.^8,(.<9=+.!-F?T"BFQ6Z%:4FS7UO:)=_V8ZU% ]GM=[A' F@1+$ZBH69-?
M[P2]7Y%#%4 N.';7\7(-I%Q7.0P2=-AVQA.1M0\$7T[NW2)XDW;6D%6G"O)<
M%_#$;&H&1-J3'QZZ7<=Q>3&38L:0Z!9TZ@^P*)_-65X*N6!P=YY)E\+I4F
M(/\0VGZ;&#U'B#WYZ<O_X Y(Z);][O.,+LA!E^"A\Z<_._P=0X9GR:W&#QT\
MV]BIXY37XL)5$$LA:*E96/]H6_8K-)ZY0XEX!AU="8Q;/IO9/JSISK?;_F!3
M@: +69F05D8.6P?8;0"L[?#ZW:C?'>L<1+V6?5#2&I^5T- Z1-]2COZ/)SWJ
M,:NO PR7800)[RJ8PYA\\V!^*U@THC324E2&K?3RB;WV@8[A7F#PG_<FF.V@
M_[Q!MU'VWC7X(T;_F?;Y<<[E(Y*?ZD%Y3>RC7O*J;_\]G^YWCGJZM^YP_OI4
MNIWDVY.,_.I9S_!V=K]G=I]-]SI'8V11/"<G&6<I.6V([X7;&[N?];HX_4RX
M;SMU9 UOBFA\-56R*A+D<%*%-8A:+PXNW_!Y&5^3L:_ ^.L:=NT7%GU)^WW%
MU3<A2UBR!"Z#TQ2&.J0SR1/O"P<'.[OO&K"[LKY=T+HW+'OV!<W_ U!+ P04
M    "  BCJA:=5E3T&<%  "<'   &    &EN;V0M,C R-3 S,S%X97@S,F0Q
M+FAT;>T9_7/22/1?>8=S6F<()% 4$\H,(AUQ;*E ;[P?-\F&[+G)QLVFE/OK
M[VT^:$JU];1UT&F'!K+[]GU_)H,_#&,2AR3VJ ]OER?OP1=>%M%8@2<I4;BZ
M9BJ$I4@2$L,)E9)Q#J\E\U<4P#);^,%+]] PA@-$-BY/B=B&7OMENV-V>@AF
M]RS;/(2S$S@X7XZ?:^!011ROE/C#0405 2\D,J7JJ'&^/#;ZC>% ,<7I<-"N
MO@M85_B;X<!G%Y"J#:='C8C(%8L-)1*[:R;*P9-MW-Z!N336S%>A;9GFGTY"
M?)_%*X/30-F]5K]_M239*MRNB90IAJ)(RHEB%U3CKF'U."72=H4*G5T"7SJ9
M5.<"$2LC(!'C&_O9DD4TA5.ZAKF(2/RL6:S@=THE"YXY.73*_J6(&L53]%(9
MA+,5(M>\.H7\=BFZ>XU(<<S"K?QV37/I7,%]A)U<ALQE"KJ=EC5HNZBVY"<Q
MJ:$K.A<L12XX4QL[9+Y/8P1X^J3?,;O.H*T!'X@O#YV<RN_7WG@R7TZ/I^/1
M<CH[A=DQ+-].X&P^/1U/ST;O8?)Q,CY?3O^:X!9"3>8/I^$?E>3L?+XX'YTN
M83G;7R:M/IRW%JUQ"Q:3<:YRJ]LSF_O+\&@!HS>SL^7D#?P2"J[4^LI\47GS
M8C1_/3J=+(S9Q_>3OV$T7NJ=CFEV[EF,_<L._V2I8L&F6&(Q$E9V]\6MK.ZH
MN#&<QN").*:>K@1%'54AA0\9D6@IOH$Y3814( *8QK'P"1;!:>RUX$"#:2D[
MIC,6$5;>37YG.<^QL,*QD-'3)]8+T[%,XP,$0N9X/Q=X@2*W/IP0Z870M9J@
M2W 32 H!XU4]U_ +ZF42JQ2JB,0^3"ZQ ,=8U9%BQ-)4\XP?#8F<40BII,AI
MG;>"_XJU)DR;\(YXGV#1@I&;A2((FC .&0T0.1+3=1!F0< \Y%*3/),T95JU
M6@4:;REL,R?F;@ !M16:D&0RS0@"*@%7F4 KX:63YP$M'_%%HGN/.G !HGVZ
M)+$@TB4Q38W9):<;&'DY<>W33=PG^2$-Y](TWXDV\"D6:]3<BMKW[W(_[/F*
MN!RY%=*G\JAA-E!GG)?-S/8^38A7WN,)B?]^1:9H6G+7+D]5S+257P>\T+;P
M""\#) \,[+F<=<@4-30%:J.B),&EHA'JW\1YGTHSL/%2(K)K*[H'_$H@WQ6L
M5JNNU1W9?QDIM.>6627(.*88#R.*ZQ#?AKVDGS,FJ>[Q4^W@BS(_6=T#@NE%
M@M4[\)]OP^4J26P31!DSUJONH:/C^(;BVMK%VKEG/L;);Q8GG=\F3EB,E3,B
MN?-CG5:$Q5@\6%'RJB B3!?J! N5CI>FWB8X .,QY)5PC*8TP0!*F_FI@,4X
M2NMU1.CG$V!>Z! JXT6XB83*G&:Z4_1NZO4!PNBN?O$[ DO/PSG&HX8>IQM5
MJ)58BH@S/,$Y25)J5S_JG.F@"HMF5,_1VAC(W/4IW;P*DG)&S^71I Q.-B)3
M-LF4<&I#>![#%1\E_L+\7P_7PLM*+#U$4M//CG?7'@34D M$&'"QKG16W1LZ
MXFU74O+)6*-.[GRX4//W+2AQ4\$S17>D?.@4NQ,^W^@8Q4.8\GIKCGQ4^L,I
M/4\BUTO9]VM_3V7^?\Y59J32U%9R"6A?YL,3,__;'_$;PW;:WIVHOEPE'@U\
MT\"Z/=AKZSY:]O[JPD\WWC<]UW@TZ:\C7F-X0C;0+YZ7W=Z+%^5U3P;;>L4/
MM^VNB[EE)446^[KU%M*N\E_MG=7UC;*=ZB C'"<AH[RO,F;]75FY4G]5MOL2
M+B$K:A2-%PEPSK#)A6!^:?=^O]4YW.;I8LW,1^GBY5X[?S?X'U!+ P04
M"  BCJA:U2Y8JC %  "S&0  &    &EN;V0M,C R-3 S,S%X97@S,F0R+FAT
M;>U9;7/:.!#^*WMTKDEG,-@06FH(,X3"E)DDI$!F[CX*2\:ZR)8KBQ#ZZV_E
M%^*07-IKDQG2"0,&2ZO5OCV[*]S]P[*&44 BCU'X/#\[!2J]5<@B#9YB1./H
MFNL YC*.201G3"DN!)PH3I<,P+%K^,9+\\BR>EUD-LA7R<B%5OU#O6$W6DCF
MMAS7/H*+,SB\G _>&>) AP*OC-!>-V2:@!<0E3!]7+F<CZQVI=?57 O6Z]:+
M[XQV(>FFUZ7\&A*]$>RX$A*UY)&E9>PV[5AW<&4=IW=H;JPUISIP'=O^LQ,3
M2GFTM 3SM=NJM=NW0XHO@^V83+CFJ(IB@FA^S0SO$E=/,*+<A=1!9W>#AU;&
MQ3I?1MKR2<C%QCV8\Y E<,[6,)4AB0ZJV0A^)TQQ_Z"34B?\&T/6J)YF-]HB
M@B^1N9$U&^ 11:>Y'Y$@LX>+M%!\FBTG,\SBC@@94S.5WJY9JOM""HJTPYN
M+SBN;=0:W?H"C1H_FPJW(ALA#76QSS5/4 K!]<8-.$4=D>#MFW;#;G:Z=4/X
M3')Y:$VF=@3[']8;#*?S\6@\Z,_'DW.8C&#^>0@7T_'Y8'S1/X71^+R//_'7
M9(14P^GS6?A7-;FXG,XN^^=SF$_V5TBG#9>U66U0@]EPD)K<:;;LZOX*W)]!
M_]/D8C[\!"_"P(59/]KOBVB>]:<G_?/AS)K\=3K\&_J#N9EIV/93IXO]RP[_
MK!+-_<V=U-M\_ZBH.R:N],81>#**F&?J1%9E=<#@RXHH])38P)3%4FF0/HRC
M2%*")7(<>34X-&1&RX;=&<@0Z_(FO7,Z[[#LPDBJ\.T;Y[W=<6SK"_A2I7R_
M9GR!H;04SHCR F@Z53 %N@HD 9^+HMH;^AGS5@IK&)J(1!2&-UB>(ZSYN&/(
MD\3(C&]#B9(Q")AB*&E9MDS^0K0JC*MF6UQ+X*0&PR3F$1,<QTUD\A & 6<^
MC'B$W0@G B:^SSV4&-D:KKFJU72KQ09PROB@"O%*)2N"EM82;O. ,<&'3IH%
MC':$RMCT)67BC,1$=+[%C*@%B5AB36X$VT#?2ZUO(KJ*\R1=9.@6+$EGP@U<
M17*-=ELR]^D#[I?C7I.%0&FEHDP=5^P*VDR(O-'9WB<Q\?)[7*'P0XMMLH8F
M#>Q\52%,7=,RX;7QA4=$#H\4%MB/==8!U\PR.S 7#:4(#F5-4OL^SZ<TFH5-
MF9:A6QHQ_>%_P/A[4'5J9:ONZ/YBM#"1F^<4?R4PP7B(*&$ O@6]8E]77#'3
M_R<FP&=Y=G*:AP23BP*G=4C?;>%RFR*VZ2''C/.Q>=0QB>.>X>HFQ.II9+[B
MY#?#2>.WP0F/L&Z&) U^K-*:8*VB. IE$!%NRG2L6&+P4C73! _'N QEQ0*&
M$S$"**FFJ_QM84.&-#T=II45J58B@YN,F4KW3':*WGV[/@.,OM<M_@2PS%DY
MY7A<,4?M2@&UG$N&.,N30I X86[QHRR9 560M:+FC&V<@<+=/<';MR#)S^^I
M/F8K2Y"-7&F7K+3LE [H]S"\ \TLHO(5+5Q0LL4S1O(/=(X_:/K',\\]]7)7
MY$!RXAM(I. 4WMCI:W_4K_3J2?VA1O)AB+PZ^;Z336[<:P^_>O=GO+LWZIFS
M[:-'NE=GOASU#!HWT,[^*'B\#<G^==^3GCX3)KL&:MMQ$.]JJ>0JHJ;KD,HM
MLE_IK_R[$WGOT4!!!&8B*[\O\F7Y$4(^4GZ"L/ML(B9+9BT4(U<6\1$C+KF6
MG.9^;[=KC:-MEL[&[/04D3WSJ*>/3/X%4$L! A0#%     @ (HZH6K$%2&Z:
M$P  3=,  !$              ( !     &EN;V0M,C R-3 S,S$N>'-D4$L!
M A0#%     @ (HZH6E.UZI+T$P  5!D! !4              ( !R1,  &EN
M;V0M,C R-3 S,S%?8V%L+GAM;%!+ 0(4 Q0    ( "*.J%K=_KU;2#,  $4^
M P 5              "  ? G  !I;F]D+3(P,C4P,S,Q7V1E9BYX;6Q02P$"
M% ,4    "  BCJA:]:C%(H=N  !!: 8 %0              @ %K6P  :6YO
M9"TR,#(U,#,S,5]L86(N>&UL4$L! A0#%     @ (HZH6BB201\)3P  1I$%
M !4              ( !)<H  &EN;V0M,C R-3 S,S%?<')E+GAM;%!+ 0(4
M Q0    ( "*.J%J.@.KY5#<" &GJ'  5              "  6$9 0!I;F]D
M+3(P,C4P,S,Q>#$P<2YH=&U02P$"% ,4    "  BCJA:MW#GD#4(  "3-P
M&               @ 'H4 , :6YO9"TR,#(U,#,S,7AE>#,Q9#$N:'1M4$L!
M A0#%     @ (HZH6F>R"?BR"   (3H  !@              ( !4UD# &EN
M;V0M,C R-3 S,S%X97@S,60R+FAT;5!+ 0(4 Q0    ( "*.J%IU65/09P4
M )P<   8              "  3MB P!I;F]D+3(P,C4P,S,Q>&5X,S)D,2YH
M=&U02P$"% ,4    "  BCJA:U2Y8JC %  "S&0  &               @ '8
M9P, :6YO9"TR,#(U,#,S,7AE>#,R9#(N:'1M4$L%!@     *  H I@(  #YM
$ P    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>inod-20250331x10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2024"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2024"
  xmlns:inod="http://www.innodata-isogen.com/20250331"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:stpr="http://xbrl.sec.gov/stpr/2024"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="inod-20250331.xsd" xlink:type="simple"/>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sXnQnrsj7UyRyYHWCiSInw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_nl_9UkC0zE2hoBhPusC7XA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_uYq9fBz8akmPQ6Gj29tW6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Yj5_u3XMeEmd8WG7uKckfg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_smT5dQfqJkyFn0MQ0eebhA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember__ybZuP6dv0GgjakZk4xdtA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ZqUewE34XUqFxk7ueli0Qw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_cEmeosAkMEmGprdLYaPc6Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_F_ul_FrE9Euxk1kldquQGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_goQu0yolPkalxp1TLz2BWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_JlhbQbhigE6XSxmRxaROtg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_T7L02jp02UK3mVFj70DY5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LAlIFr58aUyAeyv3AtqjJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_0Lr7KlIZR0WcC9DjO3dWlA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fP9NL3oY70ygxkKByeTBpg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_EBJcdcskHk-altlzL0sdOw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fM6nUaztBEmXsIn1LSpj3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_uv2_3X8okEKOmJtAsyi8Wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DGJrsuEAKkKGO8JDx40oEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_CRkG-VZ2XkybEC70qUI_CQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_j2ui3m7qeUm_DPP3DiImng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_t-z65Ak3I0ed3H7luPc7FQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_z3KIzkpaQEe2-ws4MeKhDA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_KznPYEsEV0WwNqmraIy8xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_8MCRqwItXUmcFMeRzRXBSw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_wR4PJASvPkebrdyl6Cv4Kw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_nYar1tfyxk2rj6UzvMvBNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_akxyCxa_JkKWbIOtoQK7Zg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_vdsQSR3yqkayOzSX0R5FsQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_LoLm4giUFEKAiFJ_YE48ag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sRhdc0ZnR0q4ZHjL5zlSRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_y83tZ2wMjEW0s01FwUjVbQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_cOmFGdRESEi5Uk3kWenrDg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_kFNsa7ejg0WkqckLDfcfVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_CVGi1J_i40OelkVNmXAy_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cqgKz9o8eUqjMASqc31dbg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TeQDAiyoTkmmNyjoLY_ogQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_q1X2dBrxDUmXrdZ5cyGnXw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_DUInGlRU8k6MseCGC2PXKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_LnVHQtCd9EC23a6gqIpvEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_NnfpC-M2tU-9Z9_ESm_5jQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_ArAfWplLXEOf3Y2a-dmirQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_UtrdWJFN3U2_nFDsOLQH0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_moaJm0LrnU6MMaCV9yF0Jg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_GORkeIfGOUCJSIYoAYRabw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_F_g84yoKqkudNGBcdq3IYQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_lVVFl4O5sU6H9_Bbek0yJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_nkphx0hF80-7e_JgZJOf-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_hOLJk9PMLkmkjkHAEUse0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_TitleOfIndividualAxis_inod_NonEmployeeMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_uf8-D0wIrEWORyhDYe4Sbg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">inod:NonEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_QQC1vK8EAkaK4H4NqXPdIg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_tP8Z5fRK20mh6CsOZe5kRA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_US_L8Bb2CplukOv0vsyaON87Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_NL_WCF2Bj7Z40C3mekZgNQtnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_GB_p0dyuBvOtEKn8uDmOHJZuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_CA_krcKLQZfyUalWvgWXnU2_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_lTVTtBlQUkauEGUUOLGcvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_US_Orie9KXpk02RNRodlJF9gw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_NL_Vdm6p37w7k2cO2KGKg0qfw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_GB_HUw2aep-DUeJFQW3DwL-zw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_CA_D-GEb2y9F0Oief308_pVwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_xkuEsfR0J0eqTCcyAOLlnA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_32BSB4ka-E6v3pBhnHwuXQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_37n2mnxsPEqScAOlUMj96Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_ecpxe3JL7EmK0B06jvbYAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_PlanNameAxis_inod_EquityPlansMember_HLf59OwIRUiW6gA59Y5L3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_b0ZPAnCgukCydAVzuuvvCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_yl1m9SQm-EmaTphTnR0sWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_9fv835svd0iMNspGX0R6kg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_QWVB5gOgqUihASCv4NIa9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_jrqcMfi0dECFZnexwnh5Eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_stpr_IL_xF0tN2ChnESVM1hf03uDJw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_7maW9yg8d06jLKHj6t8iFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_PH_Ye_dAdcAAkGUSo6loAkyDQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_LK_lmw_mD6qEk2JNkheZLMSFA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_IN_fHG8lzXvZk6os1HMQrfjIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_GB_aEj27gVBL06ErDGXBshbHw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_DE_MrJ71MNrn0SJkHUliE-lDA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_CA_Kw1YwoyLy0K60osz8bzD2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_stpr_IL_PXv6rk6z9UWZlWwSVVzwog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_YCer3vRef0mN_XtnBoRCyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_US_71OTmsbtHkisYtT2ixZrLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_PH_cC8_un4h6USVH87pR9U3Eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_LK_PRAWsEUTv0uYNwqKKc91ag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_IN_BjDfzcNeiUai1zY5JwYz5g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_GB_-xqlaMvyNkKnRDjZvgWQtw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_DE_Pz0GPa-sAkGbfy8ShDPI7Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_CA_QgpY_glChUKft7yTRv7yzw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5Hub6B8sO0Gf6_gZtRpNsg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_XxHuIN0Cw0iTF9iJ90858w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_YAXChZZLi0e0gO7iKDyw2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_RangeAxis_srt_MinimumMember_e80IBo3TPUqHTuLld6h5QA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_RangeAxis_srt_MaximumMember_BATJKTQ6aUiFvTz8_CCMwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_afIUS4pplUCgwZk4MTnYOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_iLccWrd90kaIs7-bBqEBcg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_J0SiirM_OUyZsHf9vNgnHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_4s5HmgMgYEq8UBs_f-11YA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_edbQgoD2jk2pbUBhLmcRzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_SSACz_5aHkmR2DIDxccdWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember___24c9SG7Uu4Uj4I_J1iAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_CHYYJdAeeUeEKSw2Ki2jvA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_XJ4tjH17KEeA-xes37wPLA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_tXXF8_qns06soRwiVIrANQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_RNjgcR6AlkmhzfO7wA-2wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_RfdoGv144E-H_TGon5JC2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_U3PBbfA1pkOZxwvpWNud3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_DUwm5kwbA0aiMdaOVLxcug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_MzxGSCoGskCqEjEzp2Xlag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Nbo_UcopHk2Q_vLSX6yBkw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9_cimou6DkmSYRDyvGCZDg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_yIOB3NDyiE-L4xehgvE7yQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9xNFECjx_EelJhdPv7MFEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_5oVJAKDc8U2Qc1h5x7cKsQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_srt_AsiaMember_QqmOzKCPW02nqUDHxGNsrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_US_CHYsuTVyMUu34excVbZvMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_PwAkRgdSJk-tulvH58Qivw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_s18ad0ZGikyHRxLuAMtroA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_or5Vs6YBN0SyFws3DWyBiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_71Ok5Hnwl0mWlDTCaiJpCQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_QZxJyZGfOEmuRBt-ppuQwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kyIc6s8LlkqxYFfRd8-KGA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fK6QrLQeLkGrMkhbTCd_7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_DtMLgfZ37Eq41Sk_OgslaA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_vtqfuhmJb0WkU8RMWMcy3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_5JzMwQja-U-b4QAS5sy0Bw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_vVj8PSXUzki3_rVKLgs_mw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_oNkb4kcUsUaGB5UhsldBpA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2024_3WB9A9ivUkCnFJMknH7HSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023__GcnigSyZEubg1y5OT8zKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p1U864SUZUuiQ6s0ZgMpmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Z0E4VX-Fs0S6V8UIx1Zvvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_RiTXS69-x0qOBxN_DqVR-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_hI5PeDc27kW8II3a5erP_w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_4pvpjAaOnkq-3I5DTMB57w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_3t4BW1b080mIPP1DM5mMyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_3KzfqUaaXk2t238RLkLKKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_H1QwP7sCk0KjAQ4H-gWl1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_RangeAxis_srt_MinimumMember_jSUqQw81akOpgyswCg4xAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_RangeAxis_srt_MaximumMember_eMrDlUeBLU6-JlEWAAwVVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mB5Q9K96UUOy8n4DHEVETQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IyGkHxiXZk-_hLlU7TXN9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_ilzQJWOgq0K-PNap8oltkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_oP9z7AdlrEObIp_UUraYcw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_h_ogQc6aJk2JcVL0ksKIsw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:TwoClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_T9fhNM_RBEehb2ZVjzFLnA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uXH36uHHL0m1WrN0XlMGRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_8_5_2024_To_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_vC9JtCo230iJadEiM5NDSA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-08-05</startDate>
            <endDate>2024-08-05</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_KKUCakEdUkWQ65BDAQTCVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-08-05</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Inm_JZTvQUKTKWNZcTFT6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_I98lu4fiPUuCgjCnf_2E1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_ClEEaT2vXkiVd9s-z1FvZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AnSyWaLQeE2eD8zXTJfK9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_EQos1vf9gUi6S-W8Uja-iA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_EAkSgFgenkub5esIsek8hA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_PwQFvDsiHki9KysRe3q_sw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_YpWN8nNRBUCEuAR9oiXXUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_-6yZvbbEVUO03PidsMC63g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_6hHJI-p2m0S63_Ss129_xA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_QQxu1NVi_kys0J__FM9jtQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_Qym26Pzej0-yTZFovk6IZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_Wm4rirdCpEW0xnQP-o7riA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_unJySujcE0ex9cYJR_MnIw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_aKV6koS_uk2sJUzXSKcC0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_VTwYOCchv0SSrkTqmFLNKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="As_Of_4_30_2025_xxB_HP-6Ik2sto-PcA02iw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2025-04-30</instant>
        </period>
    </context>
    <context id="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <unit id="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA">
        <measure>inod:customer</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_segment_Fd9GiEWAlkm1J2XHWdbi8A">
        <measure>inod:segment</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_cuoBRkALzUiSLUjx9Jd5qg_2_1">0000903651</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc__Hb1h8sodkmXUtn8ho2nkQ_3_1">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_Om0u1yBwo0CGtS5nIInaEw_4_1">2025</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_YyZRnUgAS0iObv7wsBjOWA_5_1">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_8M814f2hJkCvCP8tZqcG-A_6_2">false</dei:AmendmentFlag>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      id="Hidden_Xhchln6IkUu1RhvMwteAQQ"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      id="Hidden_d2q0F3caaEu0kIjWm9KRsA"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      id="Hidden_VqFDKBfV0ky5eWYwnE5MUg"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      id="Hidden_ZcfUiSHuq0qgTY4NPPTbdA"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_3_31_2025_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_iLccWrd90kaIs7-bBqEBcg"
      id="Hidden_hC03GuxpME62fR1sD86aBQ">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_3_31_2025_srt_RangeAxis_srt_MinimumMember_e80IBo3TPUqHTuLld6h5QA"
      id="Hidden_ol6FBvcQm0Of02gMMXTkIQ">P3Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_U3PBbfA1pkOZxwvpWNud3A"
      id="Hidden_TBh2HRybv0uQyjy6gGi50w">http://fasb.org/us-gaap/2024#SecuredOvernightFinancingRateSofrMember</us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration>
    <dei:DocumentType
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_QW39SVMFP0OkOGzxsHSw8A">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_vx8qOKomekWT_GUgh8NKfQ_0_0">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_edArXOQlJUO1_OxuEq6dSA">2025-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_do-S221rYEqJJXfkn2TUmw_6_0">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_xaYHzFDM4k2GrYKI5bVuGg">001-35774</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_FkfAFS-05kGTIlYjCmlJKw">INNODATA&#160;INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_aoE9qG7hb02PgfSMfD625Q_0_0">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_7Lpos7xCyU2ttZ-kk3_3lg_0_1">13-3475943</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_CfuWxX450kO2cG_O68x21w_4_0">55 Challenger Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_IuD3N939sUKdpf9fzKuRcw_4_1">07660</dei:EntityAddressPostalZipCode>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_F6R-wGXR50KTQ8IiMYNUGg">Ridgefield Park</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_rdaPStJmzkOgszoNUmvKoA">NJ</dei:EntityAddressStateOrProvince>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_VtVFSv63cEazO3eRgWMTaA">201</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_yXibzFGW5Uul7BoHuSUNEA">371-8000</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_VdFcgYFpKUu1k4x-L0ycKg_2_0">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tc_bWkNxL9c2kO_E1r2iQueBQ_2_1">INOD</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_23-mun2xYUeo0ozoOdHtpw">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_5vB3J8dy3EqhqSGtOJ7TyA">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_C9HseKQ43Uyyt2IgztnccA">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_kXt_NTI20ESC9-4RbFzrbQ">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_P6nN3zIoN0qhx81Q_XuhWg">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_lsKpPd4y3ESjSGz8Ldacsg">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_pItqxlPml06KSeVwGj8qfg">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_4_30_2025_xxB_HP-6Ik2sto-PcA02iw"
      decimals="INF"
      id="Narr_OF38dAjmYEu_zYs8UImBlg"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">31745310</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_DSv_df-wEEipuyKP2aaN7A_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">56556000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_lzpLHfGNukqHXfEemuwwDA_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">46897000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_lz2VpFPAUEWc7IZagvetDg_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">29577000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_1799-bAgQkak23p1lx3bgg_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">28013000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_kTHAz3C73kKmj0u9C2IWiA_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6216000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_vTRgSTnGQkyQdRbeYpXZ3g_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6090000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_mxgynWKf5UOd8ag3CNV1Eg_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">92349000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_qAL58wplkkqqhYvMD6IHSQ_8_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">81000000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_GEa5ob28bEaQsXqgtzHO3A_9_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4679000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_APx8BAr_yUqkez59Itpz0A_9_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4101000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_67cLOQw88kmuT8e-86ANlg_10_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4036000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_rTrA8TTU90q8Yb6nIsnFhQ_10_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4238000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_ddUS8BDTiEupFuz1HuVn5g_11_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1276000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_2kl1_FBuLUiNDeOrlyTzPA_11_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1267000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_znXVzUZwoUW2AgfsIjvb0Q_12_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7282000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_FUnA56jCcEaPjuqydiFYzA_12_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7492000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_SIQhWhoONE-HbQ-moZwknw_13_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">13570000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_wmq-2ok1p0CLycm4ZIEqaA_13_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">13353000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_8GojU_95qkS-9JTetGybBg_14_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2018000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_ZKSBYFtH6U2gAWIfuUxFow_14_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1998000</us-gaap:Goodwill>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_eUs0HCvKyUaM4_SDv0zE_g_15_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">125210000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_6EsYLOcgeU2V-ngV5tmVtQ_15_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">113449000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_sbw5X-2TB0GfDEHd05h3UA_19_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4500000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_j0pFa2lLDUebkFEjRqF3fw_19_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4554000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_llAD-xbn60a_t56rFOIHcg_20_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">5729000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_evPEJaPqSE-vp6ZIKQqLDA_20_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4891000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_-L5OtMXB3kizloteGwBv9w_21_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">13608000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_3MJ91siVTEqikGuw9I8RAQ_21_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">13836000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_x3pN3Grem0aK0nwFL0Ih5g_22_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8028000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_D_CzTqvrCUKgHYYKEGHCoA_22_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8010000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_safdF9vn3kW883cC4iR0rw_23_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4861000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_ix6y7DXRvky_SYPkxI5yMw_23_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">5695000</us-gaap:TaxesPayableCurrent>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_TEToAq5RykKOLeVj1XlJsw_24_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1505000</inod:CurrentPortionOfLongTermObligations>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_sjBJ8mTvRUyLjmvo8WOtQA_24_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1643000</inod:CurrentPortionOfLongTermObligations>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_N6MnE-_y4kO7XK9lMHarIQ_25_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">904000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_0hi2AbzHSU6G5UryMF2hVQ_25_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">877000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc__ooTVlbpCE6mHGMM7p46VA_26_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">39135000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_ATNeGmqSMkSawWO1EWbL1w_26_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">39506000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_SUYo1grjEEekEKaVHdEZ_Q_27_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">35000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_XbXJchDenUmWegJTV1joog_27_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">32000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_2gbbKgEj1Eu1fHQiSxepPg_28_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7096000</inod:NoncurrentPortionOfLongTermObligations>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_8bnmpDycbESeUWJydJpbLg_28_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6744000</inod:NoncurrentPortionOfLongTermObligations>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_57GoZ5ZwbEmEohmMizlymg_29_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3542000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_HXN1bEqCokyQDASXPrOQ1Q_29_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3778000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_4o--k2LpGE6xUOcgod5PqA_30_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">49808000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_ti-IyzVR5kyHj0ZV6nRNCA_30_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">50060000</us-gaap:Liabilities>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="INF"
      id="Narr_FxoNJZlFe0WPJ19Lv4SxPw"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">4998000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="INF"
      id="Narr_J0DUyyb8aUek8Z82dPArdw"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">4998000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="INF"
      id="Narr_m1xvl49FQEuXFlzxd9BHGw"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="INF"
      id="Narr_XUzbrv3Fi0uJAj7xJ3aC_A"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="INF"
      id="Narr_VJNemxuWXU6tsnWeS5btyg"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="INF"
      id="Narr_p4Ba_28h2E6qbY_U2b1x0A"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="INF"
      id="Narr_CSxSg2uCO0C_uWid5GjHXw"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="INF"
      id="Narr_SWBPKHdHtk6p-BuLLtC5EQ"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="INF"
      id="Narr_vukJGdWH6kyQxHkNJuDd0g"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">75000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="INF"
      id="Narr_Dw3THt12fUO7sUJCP1kkCA"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">75000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="INF"
      id="Narr_3aDVhcXs1Eaelozjn-aIVw"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">34929000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="INF"
      id="Narr_fGO0ncMP-Ua2QODeXjivag"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">31745000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="INF"
      id="Narr_D0ouG1NzqkGrCvAsOWXWXg"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">34484000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="INF"
      id="Narr_dbmNw8Jef0WGBwlJQBXWEA"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">31300000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_zHCjG62f7UykzFzXPyG84Q_35_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">349000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_eEShtMul2UCGPIN415Sqjg_35_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">345000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_duyKP5CUgEOY3pq8JSQGzQ_36_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">56925000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_rTA69guCDkyRncuyGFttIA_36_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">53085000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_5QegbdMwhUeFRSUHCSmZhw_37_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">26764000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_RWeNKAsNmkWGIaHM8MRRhg_37_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">18977000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_3C3-P3WBx0uCXkNT_lmCOg_38_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-2088000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_xOtVESKwoUC9hf4mO64jyg_38_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-2470000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquityBeforeTreasuryStock
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_L4YF2MSDj0uhnw8GzciVSQ_39_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">81950000</us-gaap:StockholdersEquityBeforeTreasuryStock>
    <us-gaap:StockholdersEquityBeforeTreasuryStock
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_883kNHP5CU-PycSQMMYPnw_39_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">69937000</us-gaap:StockholdersEquityBeforeTreasuryStock>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="INF"
      id="Narr_Fmq1nWpyxEuokreVs9Q2pQ"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="INF"
      id="Narr_AFRlYQeIhEyMS7tpwesw7w"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_qeOc7g_rCkeAgb2Ok7wkoQ_40_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6465000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_zv4YNXZJf02DBZsaH8xw3w_40_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6465000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_AvhTJoElckiTHz5imamC6g_41_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">75485000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_iq5MFayloE6D3asT7LDokg_41_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">63472000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_wNJjs5arw0GCdCLC9jhPxQ_42_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-83000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_6-XTuA941kGUwBNEA6t3xw_42_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-83000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_aq4DgvB-sEeoE76MdbNqig_43_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">75402000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_28W2YhzAikW5f0J6hoKccA_43_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">63389000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_3dZ4BsPzM0GvzIXYaOLibw_44_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">125210000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_j-75b5slLkWzyp8--B4Mvw_44_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">113449000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_J02bbbiME0uoRj2l4pE_CQ_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">58344000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc__mvTKBratkSolk8XUyMDug_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">26504000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_pfQM7S2tDkq3b5C-Pz4mQA_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">35092000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_uWyflfZ0XkmRCyiCbckuDw_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">16869000</us-gaap:DirectOperatingCosts>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_TCCy8vYCZkuI8vaddtCRgg_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">14980000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_D-EgNHcBEUOe1Wrlw3iKLw_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8305000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_60njP4hNwkmrMCxSW1ru0w_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">127000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_pr8tEeJ8BUe_qk-CsmaB1g_8_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">84000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:CostsAndExpenses
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_6OBROZS_8EioOIAPkGvB-A_9_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">49945000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_EBFa2leeUEikOfSqe-xZoQ_9_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">25090000</us-gaap:CostsAndExpenses>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_aTkZ5UFTdUeLqIi74OCfDw_11_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8399000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_xz99lDDoPEmw-qKPznkbEw_11_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1414000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_EHU0zUwPDk2soIicuWpXwA_13_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">612000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_WSUsWHEA50y8abB5LfSykg_13_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">424000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_ol_a_meQVUeX0w3Ixyd2ag_15_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7787000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_fsx8tauJvk647FRuVvNqIg_15_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">990000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_5UrOgEGo10C-iEY5Gnx1DQ_16_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_NRosEG9wpEGztdWumw0I8g_17_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7787000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_LH_dVjwXDUqvVc6ll9Xcww_17_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">989000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="2"
      id="Tc_INiLtpuHZE2IjBl13-oggA_20_3"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">0.25</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="2"
      id="Tc_Q5c_4DssCkyHgfPI3hO8JA_20_6"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">0.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="2"
      id="Tc_TW8OwLhYAESbj3FpHsz52w_21_3"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">0.22</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="2"
      id="Tc_x38KuenH2kSFXQBTjuqMwg_21_6"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">0.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_QunhiHy870WaZbW0tyeWHw_24_3"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">31434000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_frPtMh6Q902qqKUVRePG4g_24_6"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">28753000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_5yvIbCHrRUaBuaA9GqRiNQ_25_3"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">34951000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_anb201Rlq0eO8zx4G6i-iw_25_6"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">32239000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_6YTXGjg9_EaZ3IcuteDsnw_28_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7787000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_XtZIqEg-KEisIeudu6EBeQ_28_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">990000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_gCWxUJkZFUmP0qYspwZEZA_29_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_ZEvsYb-oeEO_NMZyhxegtQ_29_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_zFW5rQBpO0yeE8JHBUSOzQ_30_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">109000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_Mf_XfPn0akOEb-RK_zu4Jg_30_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-130000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_0YqTwvWXhEORjXGA4anEbg_31_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">274000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_3iaJlsBgqUOzWQZpQqCQDw_31_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-34000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_xBvRXPwQlUSmuaa6reMPbw_32_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">382000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_UV5STt_0Kk-srOyM6pLrhw_32_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-165000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_WxoXtc0InE-bkVWa5KnCaA_33_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8169000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_R2ZS2lXkX0uTf9-EwhYNCg_33_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">825000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_ziInU26ALkmwy3PgT2z2FA_34_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_7rEIiMlY2kueV0G5b7QhFw_35_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8169000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_JwriEnCJtkaoVJ9adLc-hQ_35_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">824000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_75891tQtxUmJ8Lyg91qWCA_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7787000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_ltxMYGemc0yQeXGYwNLG-g_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">990000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_dbUv88YGgkuqxusVlaI9Sg_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1563000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_cY5bF0Wzy0eY9y7CDv-SIw_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1266000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_zWX5R-HUT0SqSOgMT4KEyg_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2881000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_scntgtOs_UeTJLcJaxfZJA_8_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1034000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_VjcPyPvD5kGP_W7m69suQg_9_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">149000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_BITZ1Eitw0OMKZF8UUjRBQ_9_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-54000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DefinedContributionPlanIncreaseDecreaseCost
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_lGTLc5izPU2hWKqrs5eM4w_10_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">342000</us-gaap:DefinedContributionPlanIncreaseDecreaseCost>
    <us-gaap:DefinedContributionPlanIncreaseDecreaseCost
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_wB9tAR_cVkWuDR9ErBQ8Cw_10_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">309000</us-gaap:DefinedContributionPlanIncreaseDecreaseCost>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_YCQWnmWSV0iJK55mLVDnjA_12_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1353000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_ivZFqJvdlkGG5O40L5RfWQ_12_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-137000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_2RN2qI_iXUmwVByp1apA7A_13_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">47000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_pHrNqPZlyUKvPfj0jtcg2w_13_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-86000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_wUSJ-MZ9AES2IGZZtIKxDA_14_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">16000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_VczJfr66kUK7DKclQPJbZQ_14_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-426000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_3hPfB2vwZ0Wd2jknpGIqcQ_15_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">661000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_52O5rlWahE24U4pXNygRxw_15_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-307000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_1EN4UknAi06r_8LcPMEkgg_16_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">18000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_xJRb64Ps9kOKUVeWmEA1NA_16_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3145000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_YNJhCzbIp0mBoIktvKEmOA_17_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-249000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_XGZmrZ-8l0erGdPOojFigQ_17_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-490000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_KAJsUr8glEa7AgslDs6Mnw_18_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-869000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_v1KMsz-hbk2mYKr75zG19g_18_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">225000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_gqaWqmuwAUyU8nV2dlt-8A_19_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">10867000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_-VQMI6g4t0u9RiMLLo66JQ_19_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6767000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_NB7rMxJMkEe54fCdGUDX5g_22_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2350000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_70cdZm2naEyq-E4RU0didA_22_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1339000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_hM-as1oo_kiXJOVZ1-Afvg_23_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-2350000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_JzrvGBrep0KqWaR_FxDvsw_23_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1339000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_7ib3t1U85ESIYUYEZLPbJg_26_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">963000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_JXnNfE8HiUqH5pwvnVhaxw_27_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">103000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_tGCULYo6j0OzfnC0eF4JxA_27_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">291000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_Evu7UUxc0E-_sX7h4R7M9g_28_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">860000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_wzXZqvfl7UWOi9XTsaIo3A_28_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-291000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_h1nc8wQrFEa5MSEDKQ70CA_30_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">282000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_QZWgW3B2mEGC9ItPhS3Umg_30_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">32000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_DmMHChCt4UmMLCGI6yM0Cg_32_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">9659000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_dwXaILgA3UaO_EMjJNOLvw_32_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">5169000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_HYurvy9cbE2QgCQMZ5ylZw_34_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">46897000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2023__GcnigSyZEubg1y5OT8zKg"
      decimals="-3"
      id="Tc_ZKdbahQPBEKrlH_QQq8hmg_34_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">13806000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_hRaKH5OpME6u0e5kFW3AaQ_35_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">56556000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_3_31_2024_3WB9A9ivUkCnFJMknH7HSQ"
      decimals="-3"
      id="Tc_i-WwG48InEutK0rRB34rPw_35_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">18975000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaid
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_bo7VJZL2NUeeJ9Z02xtJng_38_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">112000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_9bEVkHJU30ijzp5XnbhFHA_38_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">155000</us-gaap:IncomeTaxesPaid>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_GwWitGbMYEO-0qm8dnb9KA_39_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">356000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_pTwFL2bXCk6ewUeAg_rgrQ_39_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">361000</us-gaap:OperatingLeasePayments>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_iW6RMNI6BUKMvQURl1xOVQ_40_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">68000</us-gaap:InterestPaidNet>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_CVGi1J_i40OelkVNmXAy_g"
      decimals="-3"
      id="Tc_E6xYzk8q6Eq_7lmDPrwqNw_5_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">34484000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_CVGi1J_i40OelkVNmXAy_g"
      decimals="-3"
      id="Tc_ACKMg6w1Kk-OE9GygIBZXw_5_5"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">345000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_F_ul_FrE9Euxk1kldquQGg"
      decimals="-3"
      id="Tc_5ERbZfrI8USLubs1qDv09g_5_8"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">53085000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ZqUewE34XUqFxk7ueli0Qw"
      decimals="-3"
      id="Tc_7hKvPnEWUkaqPXZIv_CdSw_5_11"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">18977000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_z3KIzkpaQEe2-ws4MeKhDA"
      decimals="-3"
      id="Tc_lpeQlNTOt0S9JH3YOl6EBQ_5_14"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-2470000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember__ybZuP6dv0GgjakZk4xdtA"
      decimals="-3"
      id="Tc_ub0YiqaRG0SadmNxkv-IsQ_5_16"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">-3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember__ybZuP6dv0GgjakZk4xdtA"
      decimals="-3"
      id="Tc_ZFiy31896ESDkFY626j1fg_5_19"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-6465000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_cEmeosAkMEmGprdLYaPc6Q"
      decimals="-3"
      id="Tc_qz7a3SNHEUePZqcxx2MsLg_5_22"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-83000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_hud5F6uUAEOVbQQKFpPuOQ_5_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">63389000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_XxHuIN0Cw0iTF9iJ90858w"
      decimals="-3"
      id="Tc_b6VPk7ENaU2hlRRi87eSsQ_6_11"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7787000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_xaUZsH0R3EiLmfiv-2jSHA_6_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7787000</us-gaap:NetIncomeLoss>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p1U864SUZUuiQ6s0ZgMpmw"
      decimals="-3"
      id="Tc_uGnXkSG8GEeomSiivRedEg_7_8"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2881000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_QHlwTVc6UEy_iLolxQKipw_7_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2881000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sXnQnrsj7UyRyYHWCiSInw"
      decimals="-3"
      id="Tc_ROEB2ESiNUuvuyL9eBHAoQ_8_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">261000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sXnQnrsj7UyRyYHWCiSInw"
      decimals="-3"
      id="Tc_e6zY4adHIkiitLQl27_tPQ_8_5"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p1U864SUZUuiQ6s0ZgMpmw"
      decimals="-3"
      id="Tc_bVRbX928i0Ga28tHO-L5RQ_8_8"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">961000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_IWXFZsHMv0acn2bMj6fd7A_8_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">963000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sXnQnrsj7UyRyYHWCiSInw"
      decimals="-3"
      id="Tc_36bROwxMKUGhKHoZd1pjaQ_9_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">184000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sXnQnrsj7UyRyYHWCiSInw"
      decimals="-3"
      id="Tc_iq-6Wxy-40iz0k1s5S0KXg_9_5"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_p1U864SUZUuiQ6s0ZgMpmw"
      decimals="-3"
      id="Tc_gH82fwhnOUuGuCl877sRiw_9_8"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-2000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ"
      decimals="-3"
      id="Tc_2Oo5sSuZhkmcs4BtA5jlXA_10_14"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_xkygfX84MUaWjuUyxhlyAQ_10_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ"
      decimals="-3"
      id="Tc_Hb2f451chkq_PfvJ6tI3EA_11_14"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">109000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_LVpVXvDlTkaQy3S-OjXiOA_11_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">109000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ"
      decimals="-3"
      id="Tc_D5ItHQ2OlkGBf8EvVZ3rew_12_14"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">274000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_RnawcNzdX0a0U8vfspPaFw_12_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">274000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_kFNsa7ejg0WkqckLDfcfVg"
      decimals="-3"
      id="Tc_id61wJOV9E-WK8r2DXHWtQ_13_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">34929000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_kFNsa7ejg0WkqckLDfcfVg"
      decimals="-3"
      id="Tc_IDWZNWd3lEGv60LsUMqD_A_13_5"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">349000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_smT5dQfqJkyFn0MQ0eebhA"
      decimals="-3"
      id="Tc_cJkrSfQEIEGsNzKOx6cC8Q_13_8"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">56925000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_uYq9fBz8akmPQ6Gj29tW6g"
      decimals="-3"
      id="Tc_nQntHFexukadyWF5HzyJLQ_13_11"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">26764000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DGJrsuEAKkKGO8JDx40oEw"
      decimals="-3"
      id="Tc_U1Xlr5_DH0uKtBv3VM-HLQ_13_14"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-2088000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_nl_9UkC0zE2hoBhPusC7XA"
      decimals="-3"
      id="Tc_GIsWMMpG4UKgp6ZbPfBRSA_13_16"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">-3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_nl_9UkC0zE2hoBhPusC7XA"
      decimals="-3"
      id="Tc_6rJL99Azj0CTLCeuO1NNaA_13_19"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-6465000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Yj5_u3XMeEmd8WG7uKckfg"
      decimals="-3"
      id="Tc_9AnEP1uJ502eodGGyaWWGg_13_22"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-83000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_DGQY1gxVCkGAZ_mXLSdhBw_13_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">75402000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TeQDAiyoTkmmNyjoLY_ogQ"
      decimals="-3"
      id="Tc_fVUFl18H_Uy8jyqE78Vq9A_15_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">31937000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TeQDAiyoTkmmNyjoLY_ogQ"
      decimals="-3"
      id="Tc_NCg_NR_ACk6dIkTPYy8BQw_15_5"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">320000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fM6nUaztBEmXsIn1LSpj3A"
      decimals="-3"
      id="Tc_2ieyfK8O3UWCe2xnHzshpA_15_8"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">43152000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fP9NL3oY70ygxkKByeTBpg"
      decimals="-3"
      id="Tc_oY-Re8s7tUq-uQp-SbiOXQ_15_11"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-9683000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sRhdc0ZnR0q4ZHjL5zlSRw"
      decimals="-3"
      id="Tc_g7AAFYpHzUiJn--7sk8Vag_15_14"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1621000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_0Lr7KlIZR0WcC9DjO3dWlA"
      decimals="-3"
      id="Tc_yqahFfJjokOC1RqdARpz4w_15_16"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">-3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_0Lr7KlIZR0WcC9DjO3dWlA"
      decimals="-3"
      id="Tc_Thh0g8xQM0KW08jLdcBNHQ_15_19"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-6465000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_EBJcdcskHk-altlzL0sdOw"
      decimals="-3"
      id="Tc_-_LAe4YtX0G_smwXv9iGAg_15_22"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-708000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023__GcnigSyZEubg1y5OT8zKg"
      decimals="-3"
      id="Tc_WStrxLkQjkivCq-rluwNMw_15_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">24995000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_YAXChZZLi0e0gO7iKDyw2Q"
      decimals="-3"
      id="Tc_BBX83g5B5ESDiwgvTVq32A_16_11"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">989000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_rtQNMktRPUahOqjXxFkK6A_16_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">989000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_5Hub6B8sO0Gf6_gZtRpNsg"
      decimals="-3"
      id="Tc_wknXGUdRDkuCx_8LKi0fLA_17_22"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_PfnBUo4Fnkuh5FoYwCoYag_17_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Z0E4VX-Fs0S6V8UIx1Zvvw"
      decimals="-3"
      id="Tc_dL79wyoRAku2RxeauRt43w_18_8"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1034000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_xuby_wPooka27rTbgm_C5A_18_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1034000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww"
      decimals="-3"
      id="Tc_Serr8rKei06-tF_RFClWwg_19_14"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_kPR1eAoCOkuW7GPlE-JxgQ_19_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww"
      decimals="-3"
      id="Tc_MY4HMBHxOUKQpS8KOhhS-A_20_14"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-130000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_6X89FnkjrU2mbQ5yTcZ5ag_20_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-130000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww"
      decimals="-3"
      id="Tc_63Nwm4YAqkqJmzuzwo5huA_21_14"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-34000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_Hu_T1NdN00yYuyp1_pGh3g_21_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-34000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cqgKz9o8eUqjMASqc31dbg"
      decimals="-3"
      id="Tc_rtrMTW8nE0OzKK_zGXZpRA_22_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">31937000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cqgKz9o8eUqjMASqc31dbg"
      decimals="-3"
      id="Tc_XcpGjiNgbUiJ1PETh8eWIw_22_5"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">320000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LAlIFr58aUyAeyv3AtqjJA"
      decimals="-3"
      id="Tc_mQTa0o5jbk2tgQgwKyiFSA_22_8"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">44186000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_JlhbQbhigE6XSxmRxaROtg"
      decimals="-3"
      id="Tc_s6YUw2bQv0O4uUQo-Q-FNQ_22_11"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-8694000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_nYar1tfyxk2rj6UzvMvBNg"
      decimals="-3"
      id="Tc_n4c3GPnX4UunLRKgMA0AtA_22_14"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1786000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_goQu0yolPkalxp1TLz2BWg"
      decimals="-3"
      id="Tc_E60odTDU0Uyn7JGUgrjYbg_22_16"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">-3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_goQu0yolPkalxp1TLz2BWg"
      decimals="-3"
      id="Tc_eizzlmzaDEatuvWs_VErJg_22_19"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-6465000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_T7L02jp02UK3mVFj70DY5w"
      decimals="-3"
      id="Tc_58BFQ6SfFkC8bu_3H3NTHA_22_22"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-707000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2024_3WB9A9ivUkCnFJMknH7HSQ"
      decimals="-3"
      id="Tc_I1SIUyd4mkyhBvKCXJ1qbw_22_25"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">26854000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_1jn9TYNfnE26eqbBc-yDeg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="display:inline-block;text-align:left;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;1.&lt;/b&gt;&lt;/span&gt;&lt;b style="font-weight:bold;"&gt;Summary of Significant Accounting Policies and Estimates&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Basis of Presentation &lt;/b&gt;- The condensed consolidated financial statements for the interim periods included herein are unaudited; however, they contain all adjustments (consisting of only normal recurring adjustments) that, in the opinion of management, are necessary to present fairly the consolidated financial position of Innodata Inc. (including its subsidiaries, the &#x201c;Company&#x201d;) as of March 31, 2025 and December 31, 2024, the results of its operations and comprehensive income for the three months ended March 31, 2025 and 2024, cash flows for the three months ended March 31, 2025 and 2024, and stockholders&#x2019; equity for the three months ended March 31, 2025 and 2024. The results of operations for the interim periods are not necessarily indicative of results that may be expected for any other interim period or for the full year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;Certain information and note disclosures normally included in or with financial statements prepared in accordance with generally accepted accounting principles in the United States of America (&#x201c;U.S. GAAP&#x201d;) have been condensed or omitted from these condensed consolidated financial statements pursuant to the rules and regulations of the Securities and Exchange Commission (the &#x201c;SEC&#x201d;) and, accordingly, 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 10-K for the year ended December 31, 2024. Unless otherwise noted, the accounting policies used in preparing these condensed consolidated financial statements are the same as those described in the notes to the consolidated financial statements for the year ended December 31, 2024.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Principles of Consolidation&#160;&lt;/b&gt;- The condensed consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Use of Estimates&#160;&lt;/b&gt;- In preparing the condensed consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the condensed consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates and assumptions used in the preparation of the condensed consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for credit losses and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Concentration of Credit Risk&lt;/b&gt; &lt;b style="font-weight:bold;"&gt;-&lt;/b&gt; The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At March 31, 2025, the Company had cash and cash equivalents of $56.6 million, of which $17.3 million was held by its foreign subsidiaries and $39.3 million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts Receivable&#160;&lt;/b&gt; - Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#x2019;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#x2019;s current creditworthiness. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services, service penalties, discounts and price adjustments. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue Recognition&#160;&lt;/b&gt;- The Company&#x2019;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#x2019;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Digital Data Solutions segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#x2019;s functional software and providing access to the Company&#x2019;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Revenue includes reimbursement of out-of-pocket expenses, with the corresponding out-of-pocket expenses included in direct operating costs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;12 months&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying condensed consolidated balance sheets are contract acquisition costs amounting to &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$1.0&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million and &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$1.1&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million as of March 31, 2025 and December 31, 2024, respectively. These acquisition costs relate to our Agility segment and are amortized over the term of the subscription agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign Currency Translation&#160;&lt;/b&gt;- The functional currency of the Company&#x2019;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the United Kingdom and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, United Kingdom Pound Sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on March 31, 2025 and December 31, 2024 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#x2019; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange losses resulting from such transactions of approximately $0.1 million for each of the three-month periods ended March 31, 2025 and 2024, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The functional currency for the Company&#x2019;s subsidiary in Germany is the Euro. The functional currencies for the Company&#x2019;s Agility subsidiaries in the United Kingdom and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#x2019;s condensed consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive income or loss in stockholders&#x2019; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying condensed consolidated statements of operations and comprehensive income (loss).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivative Instruments - &lt;/b&gt;The Company accounts for derivative transactions in accordance with the FASB&#x2019;s Accounting Standards Codification (&#x201c;ASC&#x201d;) Topic 825, &#x201c;Financial Instruments&#x201d;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in other comprehensive income (loss). When the amounts recorded in other comprehensive income (loss) are reclassified to earnings, they are included as part of direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of direct operating costs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-size:10pt;font-weight:bold;"&gt;Capitalized Developed Software - &lt;/b&gt;&lt;span style="font-size:10pt;"&gt;The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from &lt;/span&gt;&lt;span style="-sec-ix-hidden:Hidden_hC03GuxpME62fR1sD86aBQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;three&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; to &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;ten years&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress were &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$4.3&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million and &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$3.6&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million as of March 31, 2025 and December 31, 2024, respectively. The cumulative completed capitalized developed software was &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$19.4&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million and &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$19.8&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million as of March 31, 2025 and December 31, 2024, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income Taxes - &lt;/b&gt;Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#x2019;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the deferred tax assets of subsidiaries in Canada and Germany will be realizable or not.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company assessed one of its Canadian subsidiaries for the three months ended March 31, 2025 and the assessment yielded positive evidence enabling the release of the valuation allowance for the Canadian deferred tax assets of the subsidiary under &#x201c;ASC Topic 740-30-22 &#x2013; Accounting for Income Taxes&#x201d;. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;As the expectation of future taxable income of the second Canadian subsidiary and German subsidiary cannot be predicted with reasonable accuracy, the Company continues to maintain a valuation allowance against the deferred tax assets of these subsidiaries.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company accounts for income taxes regarding uncertain tax positions and recognizes interest and penalties related to uncertain tax positions in income tax expense in the condensed consolidated statements of operations and comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-size:10pt;font-weight:bold;"&gt;Deferred Revenue - &lt;/b&gt;&lt;span style="font-size:10pt;"&gt;Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. We expect to recognize substantially all of these performance obligations over the next 12 months. &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;The table below summarizes the deferred revenue balances as of March 31, 2025 and December 31, 2024 (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,010&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balances for the three months ended as of March 31, 2025 and 2024 were as follows (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at the beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net deferred revenue in the period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,932&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,607)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,707)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Currency translations and other adjustments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 160&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (80)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at the end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,668&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recently Issued Accounting Pronouncements Not Yet Adopted&lt;/b&gt; - On December 14, 2023, the FASB issued ASU No. 2023-09, &#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#x201d;. The ASU&#x2019;s effective date is for fiscal years beginning after December 15, 2024 and interim periods beginning after December 15, 2025. The adoption of ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. We do not anticipate any material impact from the adoption of this new standard.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;In November 2024, the FASB issued ASU 2024-03, &#x201c;Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40), fourth amendment via ASU 2025-01: Disaggregation of Income Statement Expenses&#x201d;. ASU No. 2024-03 does not change or remove existing expense disclosure requirements but requires disaggregated disclosures about certain expense categories and captions, including but not limited to, purchases of inventory, employee compensation, depreciation, amortization and selling expenses. ASU No. 2024-03 will become effective for us in fiscal 2027 and in the first quarter of fiscal 2028 for interim reporting. Early adoption is permitted. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_KCGHbwulq024J5O_XJ82Cw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Basis of Presentation &lt;/b&gt;- The condensed consolidated financial statements for the interim periods included herein are unaudited; however, they contain all adjustments (consisting of only normal recurring adjustments) that, in the opinion of management, are necessary to present fairly the consolidated financial position of Innodata Inc. (including its subsidiaries, the &#x201c;Company&#x201d;) as of March 31, 2025 and December 31, 2024, the results of its operations and comprehensive income for the three months ended March 31, 2025 and 2024, cash flows for the three months ended March 31, 2025 and 2024, and stockholders&#x2019; equity for the three months ended March 31, 2025 and 2024. The results of operations for the interim periods are not necessarily indicative of results that may be expected for any other interim period or for the full year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;Certain information and note disclosures normally included in or with financial statements prepared in accordance with generally accepted accounting principles in the United States of America (&#x201c;U.S. GAAP&#x201d;) have been condensed or omitted from these condensed consolidated financial statements pursuant to the rules and regulations of the Securities and Exchange Commission (the &#x201c;SEC&#x201d;) and, accordingly, 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 10-K for the year ended December 31, 2024. Unless otherwise noted, the accounting policies used in preparing these condensed consolidated financial statements are the same as those described in the notes to the consolidated financial statements for the year ended December 31, 2024.&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_skJg6RBSk0yG2PKurqchlA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Principles of Consolidation&#160;&lt;/b&gt;- The condensed consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.&lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_ptc07x-VTkOKVuKVczDDXg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Use of Estimates&#160;&lt;/b&gt;- In preparing the condensed consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the condensed consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates and assumptions used in the preparation of the condensed consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for credit losses and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_hUlnCeNf70i95YZx6oPeog">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Concentration of Credit Risk&lt;/b&gt; &lt;b style="font-weight:bold;"&gt;-&lt;/b&gt; The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At March 31, 2025, the Company had cash and cash equivalents of $56.6 million, of which $17.3 million was held by its foreign subsidiaries and $39.3 million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-5"
      id="Narr_BtktNovRnEig7DaB1-BsJQ"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">56600000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_srt_AsiaMember_QqmOzKCPW02nqUDHxGNsrA"
      decimals="-5"
      id="Narr_KUZKNR_qcU6zcImnjB5bjw"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">17300000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_US_CHYsuTVyMUu34excVbZvMQ"
      decimals="-5"
      id="Narr_eQBihAXHcUWdWVJ1exkFww"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">39300000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_1kxJlL4nS0aovzvkS7-LHA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts Receivable&#160;&lt;/b&gt; - Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#x2019;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#x2019;s current creditworthiness. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services, service penalties, discounts and price adjustments. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_ICCg11ARI0CLREkA6V3ONQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue Recognition&#160;&lt;/b&gt;- The Company&#x2019;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#x2019;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Digital Data Solutions segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#x2019;s functional software and providing access to the Company&#x2019;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Revenue includes reimbursement of out-of-pocket expenses, with the corresponding out-of-pocket expenses included in direct operating costs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;12 months&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying condensed consolidated balance sheets are contract acquisition costs amounting to &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$1.0&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million and &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$1.1&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million as of March 31, 2025 and December 31, 2024, respectively. These acquisition costs relate to our Agility segment and are amortized over the term of the subscription agreement.&lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:CapitalizedContractCostAmortizationPeriod
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      id="Narr_79N2ROgdaUqjbyoOG94g7w">P12M</us-gaap:CapitalizedContractCostAmortizationPeriod>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-5"
      id="Narr_13YRGK7wnEyPJQTgR0gfQA"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-5"
      id="Narr_KCxteeAQg06J5LbB8cmcfQ"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_N3bd_OzCiE2hu95VVE3gfg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign Currency Translation&#160;&lt;/b&gt;- The functional currency of the Company&#x2019;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the United Kingdom and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, United Kingdom Pound Sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on March 31, 2025 and December 31, 2024 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#x2019; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange losses resulting from such transactions of approximately $0.1 million for each of the three-month periods ended March 31, 2025 and 2024, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The functional currency for the Company&#x2019;s subsidiary in Germany is the Euro. The functional currencies for the Company&#x2019;s Agility subsidiaries in the United Kingdom and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#x2019;s condensed consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive income or loss in stockholders&#x2019; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying condensed consolidated statements of operations and comprehensive income (loss).&lt;/p&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-5"
      id="Narr_UhU9BiDZg0aWGORAnOt64w"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-100000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-5"
      id="Narr_N0pXcZ_Ta0a-jqSep9mqXA"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-100000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:DerivativesPolicyTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_6gTEvh4aR0ishm6X6_1ynQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivative Instruments - &lt;/b&gt;The Company accounts for derivative transactions in accordance with the FASB&#x2019;s Accounting Standards Codification (&#x201c;ASC&#x201d;) Topic 825, &#x201c;Financial Instruments&#x201d;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in other comprehensive income (loss). When the amounts recorded in other comprehensive income (loss) are reclassified to earnings, they are included as part of direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of direct operating costs.&lt;/p&gt;</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_5bm6b1wXlkaqz9Q60hZgRA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-size:10pt;font-weight:bold;"&gt;Capitalized Developed Software - &lt;/b&gt;&lt;span style="font-size:10pt;"&gt;The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from &lt;/span&gt;&lt;span style="-sec-ix-hidden:Hidden_hC03GuxpME62fR1sD86aBQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;three&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; to &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;ten years&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress were &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$4.3&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million and &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$3.6&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million as of March 31, 2025 and December 31, 2024, respectively. The cumulative completed capitalized developed software was &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$19.4&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million and &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$19.8&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million as of March 31, 2025 and December 31, 2024, respectively.&lt;/span&gt;&lt;/p&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_3_31_2025_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_J0SiirM_OUyZsHf9vNgnHQ"
      id="Narr_99sGKYabgkeD2bjwEQfmmQ">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_32BSB4ka-E6v3pBhnHwuXQ"
      decimals="-5"
      id="Narr__OSRgWTrAU-VkZnZab4rIA"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4300000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_ecpxe3JL7EmK0B06jvbYAA"
      decimals="-5"
      id="Narr_Nh_VfG7XtkicBYzEcFk3vw"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3600000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_xkuEsfR0J0eqTCcyAOLlnA"
      decimals="-5"
      id="Narr_xMOgD_Phr0-egraDC-1CWw"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">19400000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_37n2mnxsPEqScAOlUMj96Q"
      decimals="-5"
      id="Narr_MxduhYSRQkidpIKHAIS10A"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">19800000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_tO-giEO22UmAjgagMQmXvw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income Taxes - &lt;/b&gt;Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#x2019;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the deferred tax assets of subsidiaries in Canada and Germany will be realizable or not.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company assessed one of its Canadian subsidiaries for the three months ended March 31, 2025 and the assessment yielded positive evidence enabling the release of the valuation allowance for the Canadian deferred tax assets of the subsidiary under &#x201c;ASC Topic 740-30-22 &#x2013; Accounting for Income Taxes&#x201d;. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;As the expectation of future taxable income of the second Canadian subsidiary and German subsidiary cannot be predicted with reasonable accuracy, the Company continues to maintain a valuation allowance against the deferred tax assets of these subsidiaries.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company accounts for income taxes regarding uncertain tax positions and recognizes interest and penalties related to uncertain tax positions in income tax expense in the condensed consolidated statements of operations and comprehensive income.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_bod0Rb-lCkiHPhgj6x4IKQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-size:10pt;font-weight:bold;"&gt;Deferred Revenue - &lt;/b&gt;&lt;span style="font-size:10pt;"&gt;Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. We expect to recognize substantially all of these performance obligations over the next 12 months. &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;The table below summarizes the deferred revenue balances as of March 31, 2025 and December 31, 2024 (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,010&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balances for the three months ended as of March 31, 2025 and 2024 were as follows (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at the beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net deferred revenue in the period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,932&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,607)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,707)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Currency translations and other adjustments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 160&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (80)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at the end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,668&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Group_iqChQz3pSUa3T9TYaIElaQ">&lt;span style="font-size:10pt;"&gt;The table below summarizes the deferred revenue balances as of March 31, 2025 and December 31, 2024 (in thousands):&lt;/span&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,010&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_divOdCyzqk6u7sFlWe5g8Q_3_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8028000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_eGjJV7p_dUS0IfNn65u0sw_3_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8010000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DeferredRevenueByArrangementDisclosureTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_vDRpsJ2GZUGRoG8Ct0t-Vg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balances for the three months ended as of March 31, 2025 and 2024 were as follows (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at the beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net deferred revenue in the period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,932&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,607)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,707)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Currency translations and other adjustments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 160&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (80)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at the end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,668&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DeferredRevenueByArrangementDisclosureTextBlock>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_BEXufvza20Ce9GSP3D9mtg_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8010000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2023__GcnigSyZEubg1y5OT8zKg"
      decimals="-3"
      id="Tc_Tv5m17TgUEyJh03AmasSKw_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3523000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DeferredRevenuePeriodIncreaseDecrease
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_nThK4DEop0mh-ojxMoNc9A_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6465000</us-gaap:DeferredRevenuePeriodIncreaseDecrease>
    <us-gaap:DeferredRevenuePeriodIncreaseDecrease
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_2tPZ_lelP02r1kE2e20QJQ_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">9932000</us-gaap:DeferredRevenuePeriodIncreaseDecrease>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_F3qZRUYskEy2Ov-iABqa8A_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6607000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_UIzmatdLdkKyXuxNUA18DA_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6707000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_DcYn5vPt9U-nTESFVmKoKA_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-160000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_FWkucjQxB0K6VMZlS2i7GA_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">80000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_xGEogqv3ZUGyn32-OyreRQ_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8028000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2024_3WB9A9ivUkCnFJMknH7HSQ"
      decimals="-3"
      id="Tc_UfNQjmzfnEexY1zeyHqAzQ_8_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6668000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_ZeAnR6COaEKr_GfmPQyGAg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recently Issued Accounting Pronouncements Not Yet Adopted&lt;/b&gt; - On December 14, 2023, the FASB issued ASU No. 2023-09, &#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#x201d;. The ASU&#x2019;s effective date is for fiscal years beginning after December 15, 2024 and interim periods beginning after December 15, 2025. The adoption of ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. We do not anticipate any material impact from the adoption of this new standard.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;In November 2024, the FASB issued ASU 2024-03, &#x201c;Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40), fourth amendment via ASU 2025-01: Disaggregation of Income Statement Expenses&#x201d;. ASU No. 2024-03 does not change or remove existing expense disclosure requirements but requires disaggregated disclosures about certain expense categories and captions, including but not limited to, purchases of inventory, employee compensation, depreciation, amortization and selling expenses. ASU No. 2024-03 will become effective for us in fiscal 2027 and in the first quarter of fiscal 2028 for interim reporting. Early adoption is permitted. We are currently evaluating the impact of the ASU on our disclosures within the consolidated financial statements.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:AccountsAndNontradeReceivableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_mG5jpR2NGUmFpXAUgy8p3g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;2.&lt;/b&gt;&lt;/span&gt;Accounts Receivable&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Accounts receivable consists of the following (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gross Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,772&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,205)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,256)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Allowance for billing adjustments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (633)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (503)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,577&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,013&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Activity in the allowance for the credit losses for the three months ended March 31, 2025 and 2024 was as follows (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Additions charged to expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Write-offs against allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (55)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (7)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,205&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AccountsAndNontradeReceivableTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_XfwNh-J-uEy-1UnQSjBedw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Accounts receivable consists of the following (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gross Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,772&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,205)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,256)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Allowance for billing adjustments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (633)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (503)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,577&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,013&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_SYUcNgp310Sjv-pWjr9hAg_3_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">31415000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_TrFbuDrPpUmNqm4bgi7Q1w_3_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">29772000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_heGM0FySlUqvQ72JdjleVw_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1205000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_H6GcsotqB0S5TkC-qhl8lw_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1256000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <inod:AllowanceForDoubtfulAccountsBillingAdjustment
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_sRSDjGAXf0uGeR5pL0TAVw_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-633000</inod:AllowanceForDoubtfulAccountsBillingAdjustment>
    <inod:AllowanceForDoubtfulAccountsBillingAdjustment
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_ytheHkHvnE2DT7-nC59zHw_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-503000</inod:AllowanceForDoubtfulAccountsBillingAdjustment>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_euDjCCTMrEi6732KT4U1Jg_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">29577000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_HlGyuRBkDUqlFqRqPfOKgw_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">28013000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_Q1-o0DLKw0m3UliOvDX5fA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Activity in the allowance for the credit losses for the three months ended March 31, 2025 and 2024 was as follows (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Additions charged to expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Write-offs against allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (55)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (7)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,205&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_6siH4F_vTEy3r50mfgOqHg_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1256000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023__GcnigSyZEubg1y5OT8zKg"
      decimals="-3"
      id="Tc_N3AQfNyIaU6SSkJQmr9vMA_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">992000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_16-M-Syqkkue-ykW__RffA_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">15000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_qOo9mrv50EGdG6QIKT3Ghg_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">55000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_3GE7GMtW1UiHW6Y-YDWatw_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_rXUzlrDF0Ui1EELOKBGNhg_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4000</us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_3zRsD6aXsEGuDtepZfJrSA_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1205000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_3_31_2024_3WB9A9ivUkCnFJMknH7HSQ"
      decimals="-3"
      id="Tc_QK6VhYhz50GJuTH8X-u5ZA_8_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_U5YYL_PthEWJeNf5JM-Jlg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;3.&lt;/b&gt;&lt;/span&gt;Goodwill and Intangible Assets&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Goodwill&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The change in the carrying amount of goodwill for the three months ended March 31, 2025 was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance - January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,998&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance - March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,018&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;The fair value measurement of goodwill of the Agility segment was conducted on September 30, 2024 and was classified within Level 3 of the fair value hierarchy because the Company used the income approach, which utilizes significant inputs that are unobservable in the market and the market multiple approach using comparable entities to further validate the carrying values. The Company believes it made reasonable estimates and assumptions to calculate the fair value of the reporting unit as of the impairment test measurement date. The carrying value of Goodwill was $2.0 million for each of the periods ended March 31, 2025 and December 31, 2024.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Intangibles&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,881&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,760)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 123&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,965&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,747)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 218&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 840&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (813)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (40)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,528&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,087)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,254&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (8,447)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 11&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 818&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,352&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,903)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,448&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software - in Progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,302&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,304&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 23,654&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (10,903)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 12,752&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 32,908&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (19,350)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 12&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 13,570&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,060&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,911)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 146&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,856)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (29)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 259&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (826)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 36&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 44&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (44)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,546&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,016)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 529&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,656&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (8,653)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (33)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 970&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,811&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,507)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (463)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,841&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software - in Progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,552&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 23,363&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (10,507)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (473)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 12,383&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 33,019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (19,160)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (506)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 13,353&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Amortization expense relating to acquired intangible assets was $0.2 million for each of the three-month periods ended March 31, 2025 and 2024.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Amortization expense relating to capitalized developed software was $1.0 million and $0.7 million for the three months ended March 31, 2025 and 2024, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;As of March 31, 2025, estimated future amortization expense for intangible assets was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:22.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,833&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,629&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,130&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 774&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 104&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,570&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_fIn_lFnW3Uy2yi4H7NFFsw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The change in the carrying amount of goodwill for the three months ended March 31, 2025 was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance - January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,998&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance - March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,018&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_JNnENN4OdkGAIbetHD4EAA_1_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1998000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_Aah1XrR3sk6pEaBi7ozuWw_2_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-20000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_kJawU9UYxEeBODFcWLsnzQ_3_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2018000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-5"
      id="Narr_boA89m0enEaU7oh3w5V_JA"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2000000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-5"
      id="Narr_AS1gCGG21kqeWx_FQDvpcw"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2000000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_uZ8mEapdc0--quVCtuJPCQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,881&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,760)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 123&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,965&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,747)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 218&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 840&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (813)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 40&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (40)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,528&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,087)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,254&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (8,447)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 11&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 818&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,352&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,903)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,448&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software - in Progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,302&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,304&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 23,654&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (10,903)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 12,752&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 32,908&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (19,350)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 12&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 13,570&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:57.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,060&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,911)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 146&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,856)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (29)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 259&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (826)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 36&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 44&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (44)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,546&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,016)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 529&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,656&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (8,653)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (33)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 970&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,811&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,507)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (463)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,841&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software - in Progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,552&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 23,363&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (10,507)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (473)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 12,383&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:40%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 33,019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (19,160)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (506)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 13,353&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_I98lu4fiPUuCgjCnf_2E1w"
      decimals="-3"
      id="Tc_nusi2ZqJFECTmZqLTWFurA_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2881000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_I98lu4fiPUuCgjCnf_2E1w"
      decimals="-3"
      id="Tc_lQYn5pSOuk6lPoA1wt4nkw_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2760000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_I98lu4fiPUuCgjCnf_2E1w"
      decimals="-3"
      id="Tc_khLGh2BfTkW7nnBXHtznWw_7_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_I98lu4fiPUuCgjCnf_2E1w"
      decimals="-3"
      id="Tc_HBB2AzDBkEK6CKX7lfgywQ_7_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">123000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_edbQgoD2jk2pbUBhLmcRzQ"
      decimals="-3"
      id="Tc_1egAAQ4Dz0-iNtPaKJWC2g_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1965000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_edbQgoD2jk2pbUBhLmcRzQ"
      decimals="-3"
      id="Tc_X-B-CZTrCEmi25Wait7NOA_8_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1747000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_edbQgoD2jk2pbUBhLmcRzQ"
      decimals="-3"
      id="Tc_ebuNr61i1U-SgSBnT8YxsQ_8_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">218000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Inm_JZTvQUKTKWNZcTFT6g"
      decimals="-3"
      id="Tc_fbKJSMI_DEuJY3QrCN-vOg_9_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">840000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Inm_JZTvQUKTKWNZcTFT6g"
      decimals="-3"
      id="Tc_bG0BFDndD0O9DD8lXibXQw_9_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">813000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Inm_JZTvQUKTKWNZcTFT6g"
      decimals="-3"
      id="Tc_Oc1nqhOo2EmwpaxUmAtjLA_9_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Inm_JZTvQUKTKWNZcTFT6g"
      decimals="-3"
      id="Tc_ClFGTTgQDE280VOHk-3UjQ_9_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">28000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_4s5HmgMgYEq8UBs_f-11YA"
      decimals="-3"
      id="Tc_Pb9231OVGEWV_PLa3Qn9Ag_10_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">40000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_4s5HmgMgYEq8UBs_f-11YA"
      decimals="-3"
      id="Tc_3YZyWViWa0q1V8fL0cFo2Q_10_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">40000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_ClEEaT2vXkiVd9s-z1FvZA"
      decimals="-3"
      id="Tc_b6cks1z3gEa10bzePT29sg_11_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3528000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_ClEEaT2vXkiVd9s-z1FvZA"
      decimals="-3"
      id="Tc_quETFoN67EqwOwBskbxuuw_11_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3087000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_ClEEaT2vXkiVd9s-z1FvZA"
      decimals="-3"
      id="Tc_DKTFQrCRnUeL9HfUI8c1eA_11_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_ClEEaT2vXkiVd9s-z1FvZA"
      decimals="-3"
      id="Tc__5b7tnzA8EG0nYFQiy2MhA_11_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">449000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_PwQFvDsiHki9KysRe3q_sw"
      decimals="-3"
      id="Tc_uJBq5XS-UESafGZLKikhww_12_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">9254000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_PwQFvDsiHki9KysRe3q_sw"
      decimals="-3"
      id="Tc_VWqMsFQnfUWxOGwZ7hJfCQ_12_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8447000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_PwQFvDsiHki9KysRe3q_sw"
      decimals="-3"
      id="Tc_F-sVN_sPIU-64Q-L1jTYtg_12_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">11000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_PwQFvDsiHki9KysRe3q_sw"
      decimals="-3"
      id="Tc_l2bYastBmEWoccq-lXewrA_12_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">818000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_EAkSgFgenkub5esIsek8hA"
      decimals="-3"
      id="Tc_PJyMiUewaUCg6x3_ywyYwA_15_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">19352000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_EAkSgFgenkub5esIsek8hA"
      decimals="-3"
      id="Tc_MvBf1tpaZ0aRNagvbKoufg_15_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">10903000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_EAkSgFgenkub5esIsek8hA"
      decimals="-3"
      id="Tc_Hze60nPyvUajnQEaQd27QQ_15_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_EAkSgFgenkub5esIsek8hA"
      decimals="-3"
      id="Tc_9S5dLDLh-UC03okuIrRy-A_15_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8448000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_EQos1vf9gUi6S-W8Uja-iA"
      decimals="-3"
      id="Tc__gUjfaI_NUqXBBb3ZquRxg_16_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4302000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_EQos1vf9gUi6S-W8Uja-iA"
      decimals="-3"
      id="Tc_plfSOGB_IkG4pmWs8gLD3g_16_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_EQos1vf9gUi6S-W8Uja-iA"
      decimals="-3"
      id="Tc_A__Ozb7Tkkad5cm42pdaRg_16_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4304000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AnSyWaLQeE2eD8zXTJfK9w"
      decimals="-3"
      id="Tc_OGIbUFF8B0--dw4kJ1bQKw_17_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">23654000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AnSyWaLQeE2eD8zXTJfK9w"
      decimals="-3"
      id="Tc_jqAGkhX6AkaiQl8om7kNPQ_17_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">10903000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AnSyWaLQeE2eD8zXTJfK9w"
      decimals="-3"
      id="Tc_M1j8UADnKUOMuZtemIyk1Q_17_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_AnSyWaLQeE2eD8zXTJfK9w"
      decimals="-3"
      id="Tc_PXeo7hUP7kyweTSHY5ttLQ_17_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">12752000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_CPbce6dDrEKjeB4-sEkflg_19_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">32908000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_w1T5aCI5i0C3eFr-q4zPLg_19_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">19350000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_w3kQiQYl-kOb6RWdW6_RZg_19_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">12000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_-PwH1drTck6_jDrBcmHR_w_19_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">13570000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_YpWN8nNRBUCEuAR9oiXXUg"
      decimals="-3"
      id="Tc_Wei1xMBFmUaaw1ha6R-kaQ_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3060000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_YpWN8nNRBUCEuAR9oiXXUg"
      decimals="-3"
      id="Tc__fxEZZJTaE24GsU5K47yWg_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2911000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_YpWN8nNRBUCEuAR9oiXXUg"
      decimals="-3"
      id="Tc_OCwFRfsnQ0axOi031vwG7g_7_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-3000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_YpWN8nNRBUCEuAR9oiXXUg"
      decimals="-3"
      id="Tc_OjYn1irdLUyZZkK6wNYVBg_7_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">146000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_6hHJI-p2m0S63_Ss129_xA"
      decimals="-3"
      id="Tc_5kvpbc5dPUSx7owbh-ohhQ_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2144000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_6hHJI-p2m0S63_Ss129_xA"
      decimals="-3"
      id="Tc_mDuSRiyYUkCVyrMhXvT7qQ_8_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1856000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_6hHJI-p2m0S63_Ss129_xA"
      decimals="-3"
      id="Tc_42rMoEHF_EiAlHf1KCOlog_8_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-29000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_6hHJI-p2m0S63_Ss129_xA"
      decimals="-3"
      id="Tc_wkw1ZiAOV0-i3PtWg_UKuw_8_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">259000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_SSACz_5aHkmR2DIDxccdWw"
      decimals="-3"
      id="Tc_zm1qyzqnR0utmyFgVlBU2A_9_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">862000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_SSACz_5aHkmR2DIDxccdWw"
      decimals="-3"
      id="Tc_RmVY8ZRPqUKemrG8n4DYNg_9_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">826000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_SSACz_5aHkmR2DIDxccdWw"
      decimals="-3"
      id="Tc_5ObJv0uELEeGGqkPucIrfw_9_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">36000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember___24c9SG7Uu4Uj4I_J1iAw"
      decimals="-3"
      id="Tc_hpr5dwmtsE6EhZzFf2lCBg_10_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">44000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember___24c9SG7Uu4Uj4I_J1iAw"
      decimals="-3"
      id="Tc_09sco0TzS0WtShNbGZnKpA_10_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">44000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_-6yZvbbEVUO03PidsMC63g"
      decimals="-3"
      id="Tc_49YiQ7PHxEays9hDX-RgxA_11_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3546000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_-6yZvbbEVUO03PidsMC63g"
      decimals="-3"
      id="Tc_hKezj-ACE0SxhBSLif5ZmQ_11_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3016000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_-6yZvbbEVUO03PidsMC63g"
      decimals="-3"
      id="Tc_YsX7EFbdWkq1YB6c7ET70g_11_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_-6yZvbbEVUO03PidsMC63g"
      decimals="-3"
      id="Tc_9EIniOVjlUW4OMFO4jvtig_11_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">529000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_unJySujcE0ex9cYJR_MnIw"
      decimals="-3"
      id="Tc_yThb-i1X1EqxH7tPV1Tr_w_12_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">9656000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_unJySujcE0ex9cYJR_MnIw"
      decimals="-3"
      id="Tc_DrmhMp-MR0qR5tep9tNdzA_12_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8653000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_unJySujcE0ex9cYJR_MnIw"
      decimals="-3"
      id="Tc_ZJQuSw1vzUKpwDtV0_gPSg_12_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-33000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_unJySujcE0ex9cYJR_MnIw"
      decimals="-3"
      id="Tc_qvoGwym0hUSMz_77SOiU8w_12_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">970000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_Wm4rirdCpEW0xnQP-o7riA"
      decimals="-3"
      id="Tc_254Av8eXDEWRlWExBBOCNQ_15_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">19811000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_Wm4rirdCpEW0xnQP-o7riA"
      decimals="-3"
      id="Tc_m9gDc6H4Nkmssb6BA_ojUw_15_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">10507000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_Wm4rirdCpEW0xnQP-o7riA"
      decimals="-3"
      id="Tc_5pSU2XslCUmOPIpvNRBE3Q_15_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-463000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_Wm4rirdCpEW0xnQP-o7riA"
      decimals="-3"
      id="Tc_va-nBg9JHkCxUQK6Qr_J8w_15_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8841000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_Qym26Pzej0-yTZFovk6IZA"
      decimals="-3"
      id="Tc_Y33WWLlkbkCmrY4pGbv8KA_16_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3552000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_Qym26Pzej0-yTZFovk6IZA"
      decimals="-3"
      id="Tc_ZbBLx9HZ9kiflVbGrvFsOg_16_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-10000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_Qym26Pzej0-yTZFovk6IZA"
      decimals="-3"
      id="Tc_-MqRc6BZlU2OwLKQGe9VXw_16_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3542000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_QQxu1NVi_kys0J__FM9jtQ"
      decimals="-3"
      id="Tc_mClJaVUeS0a3BNiUQXTp5Q_17_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">23363000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_QQxu1NVi_kys0J__FM9jtQ"
      decimals="-3"
      id="Tc_TjYmEulc5U6O27XdFt4K3w_17_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">10507000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_QQxu1NVi_kys0J__FM9jtQ"
      decimals="-3"
      id="Tc_-7tnA6PXnkyOR_bUmx8Uug_17_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-473000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_QQxu1NVi_kys0J__FM9jtQ"
      decimals="-3"
      id="Tc_-ick5nWGE0ah97dnVhEOFg_17_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">12383000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_-Td3PsL5AUKVE8ad0Lh-DQ_19_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">33019000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_xHeaMLzeN0iFGLjMbnnJ_w_19_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">19160000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_GOebF17ILUSvmGoqbXexvg_19_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-506000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_4LssWfYRmkqmpG-Yf3auCA_19_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">13353000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_oNkb4kcUsUaGB5UhsldBpA"
      decimals="-5"
      id="Narr_2QDzd7vl80Kw2KZoWc44nQ"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_5JzMwQja-U-b4QAS5sy0Bw"
      decimals="-5"
      id="Narr_Hn0y4qqABEq7d0X0yX0eUQ"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_vtqfuhmJb0WkU8RMWMcy3w"
      decimals="-5"
      id="Narr__DLOU8EzAku7_gdnwOZoPw"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1000000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_vVj8PSXUzki3_rVKLgs_mw"
      decimals="-5"
      id="Narr_oy9jGdndlEi4c4PoCMRK9A"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_7BnpI0mSYUea3NZG53Q5sA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;As of March 31, 2025, estimated future amortization expense for intangible assets was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:22.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,833&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,629&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,130&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 774&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 104&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,570&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_c44YpvuKkEGsTXL4AXIDkA_2_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4833000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_IBihWWMGJEexfk5s8zKTsw_3_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4629000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_2ZfDrI5YMEum-qsbPLPJLA_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3130000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_sAQIEvZEIECGTUcrZYEL3Q_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">774000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_S2sTfJAYl0WvqBRcs1TAYA_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <inod:FiniteLivedIntangibleAssetExpectedAmortizationThereafter
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_xftZrtRXGEu1hbpnOfeFYw_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">104000</inod:FiniteLivedIntangibleAssetExpectedAmortizationThereafter>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_aGbYZ6x_ekufa8iL-ghlNg_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">13570000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_s9KQIgKFKEOxLCWBQCm5Hw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;4.&lt;/b&gt;&lt;/span&gt;Income Taxes&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;For the three months ended March 31, 2025, the Company recorded an income tax provision of approximately $0.6 million. The Company generated taxable income in the United States during the period; however, no U.S. federal tax expense was recognized as the taxable income was fully offset by the utilization of net operating loss carryforwards (&#x201c;NOLCO&#x201d;). The income tax provision recorded for the period primarily relates to utilization of U.S. deferred tax assets, State income tax provisions, the Company&#x2019;s foreign subsidiaries income tax provisions in accordance with local tax regulations, the tax impact of Global Intangible Low-Taxed Income (&#x201c;GILTI&#x201d;) inclusions, offset in part by the release of the valuation allowance for the deferred tax assets of one of the Company&#x2019;s Canadian subsidiary and reversal of uncertain tax positions under ASC 740. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The estimated annual effective tax rate applied to the three-month period ended March 31, 2025 differs from the U.S. federal statutory rate of 21% principally due to the favorable effect of stock-based compensation, change in valuation allowance, and change in unrecognized tax benefits, offset in part by IRS section 162(m) adjustments, state income tax provisions, tax effect of foreign operations, and income earned outside the U.S. which is subject to the U.S. tax on global intangible low taxed income (&#x201c;GILTI&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The estimated annual effective tax rate applied to the three-month period ended March 31, 2024, differs from the U.S. federal statutory rate of&lt;span style="letter-spacing:-0.1pt;"&gt; &lt;/span&gt;&lt;span style="letter-spacing:-0.1pt;"&gt;21%&lt;/span&gt;&lt;span style="letter-spacing:-0.1pt;"&gt; principally due to income earned outside the U.S. which is subject to the U.S. tax on global intangible low taxed income (&#x201c;GILTI&#x201d;), provision on uncertain tax positions, true up adjustment on prior year tax provision, and other net increases, offset in part by a reduction in the valuation allowance and foreign exchange gains and losses. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"&gt;&lt;span style="letter-spacing:-0.1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="letter-spacing:-0.1pt;"&gt;During the first quarter of 2025, the Company determined it was more likely than not that one of the Company&#x2019;s subsidiaries in Canada would be able to realize the benefit of the deferred tax assets in Canada, resulting in the release of the valuation allowance. In reaching this determination, the Company considered the growing trend of profitability over the last three years in the Canadian subsidiary, as well as expectations regarding the generation of future taxable income.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="letter-spacing:-0.1pt;"&gt;The reconciliations of the U.S. federal statutory rate with the Company&#x2019;s effective tax rate for the three months ended March 31, 2025 and 2024, respectively, are summarized in the table below:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ended March 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Federal income tax expense (benefit) at statutory rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Effect of:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Section 162(m)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State income tax net of federal benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Tax effects of foreign operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;GILTI provisions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Withholding tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Return to provision true up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign operations permanent differences - foreign exchange gains and losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7.9)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Deemed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2.7)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign rate differential&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Change in unrecognized tax benefits (ASC 740)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1.5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10.4)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effect of stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (40.8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effective tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents a roll-forward of the Company&#x2019;s unrecognized tax benefits and associated interest for the three months ended March 31, 2025 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrecognized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Tax&#160;Benefits&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 999&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Increase for current period tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 76&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Decrease for prior year tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (213)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest accrual&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency remeasurement&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 876&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;font-style:normal;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-5"
      id="Narr_iOk0JKjgVEySI8b3i6pNww"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">600000</us-gaap:IncomeTaxExpenseBenefit>
    <inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_aKV6koS_uk2sJUzXSKcC0A"
      decimals="2"
      id="Narr_UY7YD2vGf0GLBBKc7oTE3w"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.21</inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense>
    <inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_VTwYOCchv0SSrkTqmFLNKw"
      decimals="2"
      id="Narr_fFe4t1kkDE-W7LoHxY5jBg"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.21</inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_od4gQo_n3U63d_hV4r0-kQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ended March 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Federal income tax expense (benefit) at statutory rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Effect of:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Section 162(m)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State income tax net of federal benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Tax effects of foreign operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;GILTI provisions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Withholding tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Return to provision true up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign operations permanent differences - foreign exchange gains and losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7.9)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Deemed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2.7)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign rate differential&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Change in unrecognized tax benefits (ASC 740)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1.5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10.4)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effect of stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (40.8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:70.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effective tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_CUzTXZNlnUaCanMhB2TPQA_4_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.21</inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense>
    <inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_7R_CyI2HCEKKS77gNnLbzg_4_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.21</inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense>
    <inod:EffectiveIncomeTaxRateReconciliationSection162Percentage
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_ODNOFvp5bk6EixH_hw6iVg_6_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.281</inod:EffectiveIncomeTaxRateReconciliationSection162Percentage>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_6ms55vEmE0-CMslXe6IO0Q_7_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.021</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_knnhi9P5cEik7ynxR82axg_7_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.007</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_uUXHDA1NMkq2dfRZaZWsLA_8_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.012</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_6SbIny2mekSlhFkejIlhFw_8_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.024</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign>
    <us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_k59ATC6FS06zU1iYCyDfXA_9_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.011</us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_O0NdDN1XQ0Owtoy1cKTx2Q_9_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.118</us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent>
    <inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_ZG9SdeU2wEC6tJipyFG6pQ_10_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.003</inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage>
    <inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_9daoBDLyfU2-YJNeSlHn-w_10_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.02</inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage>
    <inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_0GgOdo8JpE6Z2eh8um-68g_11_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.051</inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp>
    <inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_dcMShkTShEm11byiI8IBaQ_12_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">-0.079</inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses>
    <inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_kvULu2aMO0ykA0McfqsYOQ_13_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">-0.003</inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent>
    <inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_flN0_js6ukeFyIeFz0VIHQ_13_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">-0.027</inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_iW9TyjmXyEKXEPelto41uQ_14_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">-0.005</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_mY2FMXy6ekOTavJMG4KSuA_14_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_hz0j0sswo0Wje0sfle8LZA_15_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">-0.015</inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits>
    <inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_uBoQvtYBWUSbL1ioXrb-AA_15_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.061</inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_pJoJdeH8e0q8T0iPCXFKpg_16_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">-0.033</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_230fjCyfsEeR9zmxxOAR_g_16_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">-0.104</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_yXrRmjnIb0SvGSpFk9DK4w_17_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">-0.408</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_H-IfGoSMsEefDcRFWSUi5g_17_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.007</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_Qep2LiMOX0u071bL9M3Fhg_18_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">-0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_mpu_tkz3zUGOX8EbggIhJg_18_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.007</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="3"
      id="Tc_7eAbva7fVkmnMxKdlxf10g_19_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.073</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="3"
      id="Tc_6kqO-P6kWEynQMFCR88vzA_19_4"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.30</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_w9v_QjaqXUqciuMM6IiPKA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents a roll-forward of the Company&#x2019;s unrecognized tax benefits and associated interest for the three months ended March 31, 2025 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrecognized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Tax&#160;Benefits&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 999&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Increase for current period tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 76&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Decrease for prior year tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (213)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest accrual&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency remeasurement&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 876&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;font-style:normal;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_o2ENAYOHvki6-ydrK5LSxw_3_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">999000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_gusi0w4daE6zU17ZEHAknw_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">76000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_bd76rSTNuEWVkYLzHs0I9w_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">213000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc__ZtQXa_UZ0aUd35zTcw4bg_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">10000</us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense>
    <inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_SpWzGl2DFkmNAQX6vHIHXA_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-4000</inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_hp822gnufUWFiIQf96PmNg_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">876000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_iSeg7_xFK0WwYX7EYrrd2Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;5.&lt;/b&gt;&lt;/span&gt;Operating Leases&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company has various lease agreements for its offices and service delivery centers and has determined that the risks and benefits related to these leased properties are retained by the lessors. Accordingly, these are accounted for as operating leases. Lease agreements with a term of less than one year are treated as short-term leases and are accounted for separately as shown in the table below.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;Most of these lease agreements are renewable at the mutual consent of the parties to the contract. These lease agreements are for terms ranging from &lt;/span&gt;&lt;span style="-sec-ix-hidden:Hidden_ol6FBvcQm0Of02gMMXTkIQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;three&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; to &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;eleven years&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; and, in most cases, provide for rent escalations ranging from &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;1.75%&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; to &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;15%&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below summarizes the amounts recognized in the condensed consolidated financial statements related to operating leases for the periods presented (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Rent expense for long-term operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 314&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 314&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Rent expense for short-term leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 42&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 47&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Total rent expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 356&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 361&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the maturity profile of the Company&#x2019;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the condensed consolidated balance sheet as of March 31, 2025 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 977&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,331&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,327&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 957&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 695&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2030 and thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 177&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,464&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: Interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,018)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net present value of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,446&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 904&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Long-term portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,446&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The weighted average remaining lease terms and discount rates for all of the Company&#x2019;s operating leases as of March 31, 2025 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:83.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Weighted-average lease term remaining &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;48 months&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Weighted-average discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.39&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_3_31_2025_srt_RangeAxis_srt_MaximumMember_BATJKTQ6aUiFvTz8_CCMwQ"
      id="Narr_cYssHF2yTEa4LB13AClP9w">P11Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <inod:PercentageOfRentalEscalations
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_RangeAxis_srt_MinimumMember_jSUqQw81akOpgyswCg4xAQ"
      decimals="4"
      id="Narr_p5ikbWr7D0GQdeR7NMDydA"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.0175</inod:PercentageOfRentalEscalations>
    <inod:PercentageOfRentalEscalations
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_RangeAxis_srt_MaximumMember_eMrDlUeBLU6-JlEWAAwVVA"
      decimals="2"
      id="Narr_dND3Mbdezk2WY__Q_ojXeg"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.15</inod:PercentageOfRentalEscalations>
    <inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_d2sytKfZGEaghDMxqvwigQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below summarizes the amounts recognized in the condensed consolidated financial statements related to operating leases for the periods presented (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Rent expense for long-term operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 314&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 314&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Rent expense for short-term leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 42&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 47&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Total rent expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 356&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 361&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_9fv835svd0iMNspGX0R6kg"
      decimals="-3"
      id="Tc_IyvGh3GHO0eCD_NnbkGWpA_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">314000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_jrqcMfi0dECFZnexwnh5Eg"
      decimals="-3"
      id="Tc_yy0GBWvK8UO6GRk8lIEGzA_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">314000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_yl1m9SQm-EmaTphTnR0sWA"
      decimals="-3"
      id="Tc_nvoAMgmz8kajw2gilPPoKA_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">42000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_QWVB5gOgqUihASCv4NIa9w"
      decimals="-3"
      id="Tc_62Xoipw_X0WxWYHmzwb5RQ_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">47000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_Rj1VgGI6akGdrRcoxuOI8A_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">356000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_Wr_VAOCGA0C7dQPlm1hfMg_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">361000</us-gaap:OperatingLeaseExpense>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_vK5oStBHjUejFJpvKum2xA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the maturity profile of the Company&#x2019;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the condensed consolidated balance sheet as of March 31, 2025 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 977&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,331&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,327&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 957&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 695&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2030 and thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 177&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,464&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Less: Interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,018)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net present value of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,446&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 904&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Long-term portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,446&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_SHiY1jAY5k6x7dPXxjHtGA_2_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">977000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_9DSlZ5UYA0GpdMxpxLwPVQ_3_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1331000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_yoT0sLgNwkCEmhGU1F3Rnw_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1327000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_sNmf72wNWUWFuOuRdX-QPA_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">957000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_FBou4czWkkGq_saQihszfg_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">695000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <inod:LesseeOperatingLeaseLiabilityToBePaidThereafter
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_eCAhp2t1UkucjLYnPzPgYQ_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">177000</inod:LesseeOperatingLeaseLiabilityToBePaidThereafter>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_vV_8r8e_UUehM1-qGXIj5w_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">5464000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_sXkJEIy6dkaN5xmzKTQLmA_9_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1018000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_Vq6rSREKjkSBireE1u4JGQ_10_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4446000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_xFh8KjsyTUqoi-FF9dY2hg_12_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">904000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_0WPtTcXHMke3D0zpfFvSrw_13_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3542000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_jepbD1K-R0CeyNNCaA0LQw_14_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4446000</us-gaap:OperatingLeaseLiability>
    <inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_22Qjn_ZhMECx4XJysJFNNw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The weighted average remaining lease terms and discount rates for all of the Company&#x2019;s operating leases as of March 31, 2025 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:83.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Weighted-average lease term remaining &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;48 months&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Weighted-average discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9.39&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      id="Tc_l6RR2YP1CkmVid9mqQtGZQ_1_2">P48M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="4"
      id="Tc_5N2Ikd77Q0m3GcKfr_fPOQ_2_2"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.0939</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <inod:LongTermObligationsDisclosureTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_E2uyhrkYLk-vt2CkW8zuow">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;6.&lt;/b&gt;&lt;/span&gt;Long-term obligations&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Total long-term obligations as of March 31, 2025 and December 31, 2024 consisted of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Pension obligations&#160;- accrued pension liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,277&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,945&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Microsoft licenses &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 324&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 442&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,601&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,387&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: Current portion of long-term obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,505&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,643&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total Non-Current portion of long-term obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,096&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,744&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&#160;In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.&lt;/p&gt;</inod:LongTermObligationsDisclosureTextBlock>
    <inod:LongTermObligationsDisclosureTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_Xa_048ThOkWjz1m56XYDJQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Total long-term obligations as of March 31, 2025 and December 31, 2024 consisted of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Pension obligations&#160;- accrued pension liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,277&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,945&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Microsoft licenses &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 324&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 442&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,601&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,387&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: Current portion of long-term obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,505&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,643&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total Non-Current portion of long-term obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,096&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,744&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&#160;In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.&lt;/p&gt;</inod:LongTermObligationsDisclosureTableTextBlock>
    <us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_jmGpe3ejPEedBFG-NENU5w_3_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8277000</us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent>
    <us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_HCWPQwyfpkCtrPuQ6u6k2Q_3_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7945000</us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent>
    <inod:MicrosoftLicensesObligations
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_HmZRdik3_UuetJQ-erKDEw_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">324000</inod:MicrosoftLicensesObligations>
    <inod:MicrosoftLicensesObligations
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_HazuH0VZRUyrkmN2heJ3lQ_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">442000</inod:MicrosoftLicensesObligations>
    <inod:TotalLongTermObligations
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_QildNhCmFkCr473UA5ZYXA_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8601000</inod:TotalLongTermObligations>
    <inod:TotalLongTermObligations
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_aUPmm1IwDUmyqKQBotU64Q_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8387000</inod:TotalLongTermObligations>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_yaf5HoKRhEuyG2gYQLRfhw_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1505000</inod:CurrentPortionOfLongTermObligations>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_-y43V82pz0-betdXZL0foQ_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1643000</inod:CurrentPortionOfLongTermObligations>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_hjUkiX7iak-HUVYWVL_b5A_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7096000</inod:NoncurrentPortionOfLongTermObligations>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_qx424kWPREiFMu0E99T4OQ_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6744000</inod:NoncurrentPortionOfLongTermObligations>
    <inod:LicensesObligationsAmountPayableAnnually
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-5"
      id="Narr_FniBtEDKE0-GvjMuTNauSA"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">400000</inod:LicensesObligationsAmountPayableAnnually>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_SfG7mNrNFka333eHfm21gA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;7.&lt;/b&gt;&lt;/span&gt;Commitments and Contingencies&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-size:10pt;font-weight:bold;"&gt;Litigation&#160;&#x2013; &lt;/b&gt;&lt;span style="font-size:10pt;"&gt;In 2008, a judgment was rendered in the Philippines against a Philippine subsidiary of the Company that is no longer active and purportedly also against Innodata&#160;Inc., in favor of certain former employees of the Philippine subsidiary. The potential payment amount aggregates to approximately &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$5.7&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million, &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;plus legal interest that accrued at 12% per annum from August&#160;13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;. The potential payment amount as expressed in U.S. dollars varies with the Philippine peso to U.S. dollar exchange rate. In December&#160;2017, a group of 97 of the former employees of the Philippine subsidiary indicated that they proposed to record the judgment as to themselves in New Jersey. In January&#160;2018, in response to an action initiated by Innodata&#160;Inc., the United States District Court for the District of New Jersey (&#x201c;USDC&#x201d;) entered a preliminary injunction that enjoins these former employees from pursuing or seeking recognition or enforcement of the judgment against Innodata&#160;Inc. in the United States during the pendency of the action and until further order of the USDC. In June&#160;2018, the USDC entered a consent order administratively closing the action subject to return of the action to the active docket upon the written request of Innodata&#160;Inc. or the former employees, with the USDC retaining jurisdiction over the matter and the preliminary injunction remaining in full force and effect.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In February 2024, David D&#x2019;Agostino filed a putative class action captioned D&#x2019;Agostino v. Innodata Inc., et al., in the United States District Court for the District of New Jersey against the Company and certain of its current and former officers (the &#x201c;Securities Class Action&#x201d;). In October 2024, the presiding judge in the Securities Class Action appointed a lead plaintiff and approved the lead plaintiff&#x2019;s choice of counsel. The Securities Class Action complaint, as amended, asserts claims under Sections 10(b) and 20(a) of the Securities Exchange Act of 1934, as amended, and Rule 10b-5 promulgated thereunder, and it alleges, among other things, that the defendants made false and misleading statements regarding the Company&#x2019;s artificial intelligence (&#x201c;AI&#x201d;) technology and services. The plaintiff seeks unspecified damages, fees, interest, and costs. The Company intends to defend itself vigorously, but the Company cannot predict the outcome of the action at this time and can give no assurance that the asserted claims will not have a material adverse effect on its financial position or results of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Subsequently, in March 2024, the Company received a letter from the staff of the SEC, requesting the Company preserve certain documents and data; in August 2024 the Company received a grand jury subpoena from the U.S. Department of Justice (&#x201c;DOJ&#x201d;) requesting the Company to produce certain documents; and in September 2024 the Company received a subpoena from the SEC requesting certain information. The Company believes that the SEC and DOJ requests are related to the conduct alleged in the Securities Class Action, and is cooperating with these investigations. The Company is unable to predict when these matters will be resolved or what further action, if any, the SEC or DOJ may take in connection with it.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company is also subject to various other legal proceedings and claims that have arisen in the ordinary course of business. While the Company believes that it has adequate reserves for those losses that it believes are probable and can be reasonably estimated, the ultimate results of legal proceedings and claims cannot be predicted with certainty.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;While management currently believes that the ultimate outcome of these proceedings will not have a material adverse effect on the Company&#x2019;s consolidated financial position or overall trends in consolidated results of operations, litigation is subject to inherent uncertainties. Substantial recovery against the Company in the above-referenced Philippine action could have a material adverse impact on the Company, and unfavorable rulings or recoveries in the other proceedings could have a material adverse impact on the consolidated operating results in the period in which the ruling or recovery occurs. In addition, the Company&#x2019;s estimate of the potential impact on the Company&#x2019;s consolidated financial position or overall consolidated results of operations for the above referenced legal proceedings could change in the future. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The Company&#x2019;s legal accruals related to legal proceedings and claims are based on the Company&#x2019;s determination of whether or not a loss is probable. The Company reviews outstanding proceedings and claims with external counsel to assess probability and estimates of loss. The accruals are adjusted if necessary. While the Company intends to defend these matters vigorously, adverse outcomes that it estimates could reach approximately $450,000 in the aggregate beyond recorded amounts are reasonably possible. If circumstances change, the Company may be required to record adjustments that could be material to its reported consolidated financial condition and results of operations.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LitigationReserve
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-5"
      id="Narr_M1uhkFSpRkiqG1VtbbDizw"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">5700000</us-gaap:LitigationReserve>
    <inod:InterestRateDescriptionLitigation
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_VxgU4wrorE28fP_wUSd_dw">plus legal interest that accrued at 12% per annum from August&#160;13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum</inod:InterestRateDescriptionLitigation>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="0"
      id="Narr_YRaq0ldPUE2x3itTBHMvlA"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">450000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_kIlNruLc40yuY0-plosTGg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;8.&lt;/b&gt;&lt;/span&gt;Stock Options and Restricted Stock Units&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The stock-based compensation expense related to the Innodata Inc. 2013 Stock Plan, as amended and restated effective June 7, 2016 (the &#x201c;2013 Plan&#x201d;) and the Innodata Inc. 2021 Equity Compensation Plan, as amended and restated effective as of April 11, 2022 (the &#x201c;2021 Plan&#x201d;, and together with the 2013 Plan, collectively, the &#x201c;Equity Plans&#x201d;) were allocated as follows (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Direct operating costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 427&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Selling and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,454&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,881&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,034&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.27;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;Stock Options &lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;2013 Plan&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;A summary of option activity under the 2013 Plan and changes during each of the three-month periods ended March 31, 2025 and 2024 are presented below:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted - Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining Contractual &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term (years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,165,193&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.32&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,458,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (188,150)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.74&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,977,043&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,948,739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Exercisable at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,878,708&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.68&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.06&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 92,753,835&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Vested and Expected to vest at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,977,043&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,948,739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted - Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&#160;Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&#160;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term&#160;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,334)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.96&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,336,828&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.21&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.13&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,364,840&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Exercisable at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,552,030&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.28&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 5.22&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,528,015&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Vested and Expected to vest at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,336,828&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.21&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.13&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,364,840&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-size:10pt;font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 36pt;"&gt;&lt;i style="font-style:italic;"&gt;2021 Plan&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;A summary of option activity under the 2021 Plan and changes during the three-month periods ended March 31, 2025 and 2024 are presented below.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted - Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term (years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 842,271&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.86&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,847,471&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (73,232)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.57&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (334)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 768,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.04&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,375,435&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Exercisable at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 7.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,897,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Vested and Expected to vest at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 768,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.04&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,375,435&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;-&#160;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&#160;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term&#160;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,334)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 918,237&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.52&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,946,506&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Exercisable at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 386,209&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,258,907&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Vested and Expected to vest at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 918,237&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.52&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,946,506&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"&gt;&lt;span style="letter-spacing:-0.1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="letter-spacing:-0.1pt;"&gt;There were &lt;/span&gt;&lt;span style="letter-spacing:-0.1pt;"&gt;no&lt;/span&gt;&lt;span style="letter-spacing:-0.1pt;"&gt; options granted during the three months ended March 31, 2025 and 2024.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;During the three months ended March 31, 2025, a total of 261,382 options were exercised at an average exercise price of $3.68.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;The compensation cost related to non-vested stock options not yet recognized as of March 31, 2025 totaled approximately &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$8.2&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million. The weighted-average period over which these costs will be recognized is &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;31 months&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Restricted Stock Awards&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;There were no outstanding awards of restricted stock under the Equity Plans during each of the three-month periods ended March 31, 2025 and 2024.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Restricted Stock Units&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Restricted stock unit activity under the Equity Plans during each of the three-month periods ended March 31, 2025 and 2024 are presented below:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,249,079&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 20.98&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,751&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41.23&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (184,200)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.99&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (530,950)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.37&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 536,680&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41.03&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted&#160;Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 749,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.77&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (995)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8.29&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 748,761&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.78&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;There were no restricted stock units granted to non-employee directors during the three months ended March 31, 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;"&gt;The compensation cost related to non-vested restricted stock units not yet recognized as of March 31, 2025 totaled approximately &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$19.6&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million. The weighted-average period over which these costs will be recognized is &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;31 months&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_bY28emw11EGMeKeukIXCRA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The stock-based compensation expense related to the Innodata Inc. 2013 Stock Plan, as amended and restated effective June 7, 2016 (the &#x201c;2013 Plan&#x201d;) and the Innodata Inc. 2021 Equity Compensation Plan, as amended and restated effective as of April 11, 2022 (the &#x201c;2021 Plan&#x201d;, and together with the 2013 Plan, collectively, the &#x201c;Equity Plans&#x201d;) were allocated as follows (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Direct operating costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 427&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Selling and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,454&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,881&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,034&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock>
    <us-gaap:StockOptionPlanExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PlanNameAxis_inod_EquityPlansMember_HLf59OwIRUiW6gA59Y5L3A"
      decimals="-3"
      id="Tc_X2KHAFJk7UaABInG73PY5w_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">427000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_b0ZPAnCgukCydAVzuuvvCA"
      decimals="-3"
      id="Tc_x5qslFnGtkS-sRf-vblwCQ_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">84000</us-gaap:StockOptionPlanExpense>
    <us-gaap:OtherSellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PlanNameAxis_inod_EquityPlansMember_HLf59OwIRUiW6gA59Y5L3A"
      decimals="-3"
      id="Tc_8LF7GxsCIUyDim31gv1Kcw_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2454000</us-gaap:OtherSellingGeneralAndAdministrativeExpense>
    <us-gaap:OtherSellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_b0ZPAnCgukCydAVzuuvvCA"
      decimals="-3"
      id="Tc_vM59_qfDCUywOmuzPQ-mzA_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">950000</us-gaap:OtherSellingGeneralAndAdministrativeExpense>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PlanNameAxis_inod_EquityPlansMember_HLf59OwIRUiW6gA59Y5L3A"
      decimals="-3"
      id="Tc_PSo8-nAs_k-aHaF77Qpmmw_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2881000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_PlanNameAxis_inod_EquityPlansMember_b0ZPAnCgukCydAVzuuvvCA"
      decimals="-3"
      id="Tc_4lm2a8gGlE6i49jbu_rluw_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1034000</us-gaap:ShareBasedCompensation>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_PlanNameAxis_inod_EquityPlansMember_HLf59OwIRUiW6gA59Y5L3A"
      id="Tb_OSA0ltYunkCNhC8y3wuCaA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;2013 Plan&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;A summary of option activity under the 2013 Plan and changes during each of the three-month periods ended March 31, 2025 and 2024 are presented below:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted - Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining Contractual &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term (years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,165,193&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.32&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,458,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (188,150)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.74&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,977,043&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,948,739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Exercisable at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,878,708&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.68&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.06&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 92,753,835&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Vested and Expected to vest at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,977,043&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.11&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,948,739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted - Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&#160;Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&#160;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term&#160;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,334)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.96&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,336,828&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.21&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.13&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,364,840&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Exercisable at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,552,030&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.28&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 5.22&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,528,015&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Vested and Expected to vest at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,336,828&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.21&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.13&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,364,840&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-size:10pt;font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 36pt;"&gt;&lt;i style="font-style:italic;"&gt;2021 Plan&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;A summary of option activity under the 2021 Plan and changes during the three-month periods ended March 31, 2025 and 2024 are presented below.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted - Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term (years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 842,271&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.86&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,847,471&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (73,232)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.57&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (334)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 768,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.04&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,375,435&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Exercisable at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 7.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,897,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Vested and Expected to vest at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 768,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.04&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,375,435&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;-&#160;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&#160;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term&#160;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,334)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Outstanding at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 918,237&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.52&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,946,506&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Exercisable at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 386,209&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,258,907&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:37.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Vested and Expected to vest at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 918,237&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.52&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,946,506&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_UtrdWJFN3U2_nFDsOLQH0w"
      decimals="INF"
      id="Tc_iPLQ0QAwRESwoO6t3CZmUg_4_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">3165193</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_UtrdWJFN3U2_nFDsOLQH0w"
      decimals="2"
      id="Tc_j85D5T63bEycKEbKjL1Isw_4_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.67</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_DUInGlRU8k6MseCGC2PXKw"
      id="Tc_OvBkLpw-H0S-2_6TH_7ZQQ_4_7">P6Y3M25D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_UtrdWJFN3U2_nFDsOLQH0w"
      decimals="0"
      id="Tc_HWfgmdE_mEq6fgehPyLHkg_4_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">113458326</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g"
      decimals="INF"
      id="Tc_Wj8QBK8arUaxruNmNW-u7g_6_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">188150</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g"
      decimals="2"
      id="Tc_1hsJag8QnUyLw2QvwyJABg_6_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.74</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ"
      decimals="INF"
      id="Tc_kMK9KDef2kuIrOPTcagd5A_8_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">2977043</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ"
      decimals="2"
      id="Tc_vtSn782eyE-cD7sE_aULLg_8_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.67</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g"
      id="Tc_Qk1u_dDYnk6HzArMShYI3Q_8_7">P6Y1M9D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ"
      decimals="0"
      id="Tc_3Lcn730svUG1A7rHVUD1fQ_8_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">95948739</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ"
      decimals="INF"
      id="Tc_6sGRyN94tEqJIypywvlJEw_10_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">2878708</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ"
      decimals="2"
      id="Tc__k31M_WEM0e_8tLcDUDP4g_10_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g"
      id="Tc_SXTLuQo2ckyu3qcWtTgq9w_10_7">P6Y21D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ"
      decimals="0"
      id="Tc_RSE--YT8yUuDz1lHyXJUZQ_10_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">92753835</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ"
      decimals="INF"
      id="Tc_28_70OzLLEOLLluqF2smEw_12_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">2977043</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ"
      decimals="2"
      id="Tc_WFBfZ1qH302Bogp_0jnjIQ_12_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.67</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_WAMRb2ksT0CG3PE7borf_g"
      id="Tc_1TzJhFLyIEmBO2nnJB7Tag_12_7">P6Y1M9D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_0YYydsdwHkCT9A2OtMaBSQ"
      decimals="0"
      id="Tc_a1G_me6qXkePccQXFom_uQ_12_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">95948739</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_GORkeIfGOUCJSIYoAYRabw"
      decimals="INF"
      id="Tc_kT6wTND9402p7Z3ZAjFT1g_4_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">5339162</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_GORkeIfGOUCJSIYoAYRabw"
      decimals="2"
      id="Tc_13vsptO6gU-y-i1qTOM_Kg_4_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_NnfpC-M2tU-9Z9_ESm_5jQ"
      id="Tc_hjVMKkRjcUSQ4XfWDIDk7w_4_7">P6Y4M17D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_GORkeIfGOUCJSIYoAYRabw"
      decimals="0"
      id="Tc_yZdZhiFYhUST7qOLSjzAUg_4_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">28640009</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw"
      decimals="INF"
      id="Tc_y2E_0j0v3UaOIvlfyc-jYA_7_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">2334</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw"
      decimals="2"
      id="Tc_fnyZqo8JHUi7LKIvjKUcSA_7_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">6.96</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA"
      decimals="INF"
      id="Tc_A5d8YZuy4kWmu9n7YaWSUw_8_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">5336828</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA"
      decimals="2"
      id="Tc_NfsIFawwfES5bP7C4wY4Aw_8_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw"
      id="Tc_SPgnJ1MmwkKkS9RzvKUHqQ_8_7">P6Y1M17D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA"
      decimals="0"
      id="Tc_9M4J8cn9IE6wcrbfQ2nyTg_8_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">18364840</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA"
      decimals="INF"
      id="Tc_V7zPspej9UmOvHIF5iUlJg_10_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">3552030</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA"
      decimals="2"
      id="Tc_IPDCinR1NEGFR0EU3_2Fdw_10_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">2.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw"
      id="Tc_WGDlQnkOO0C08S8E2-cM5w_10_7">P5Y2M19D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA"
      decimals="0"
      id="Tc_UeMi4HQNEE-jFBcWokN_2A_10_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">15528015</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA"
      decimals="INF"
      id="Tc_gWMiaM23QkWJeCeOk4P0nw_12_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">5336828</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA"
      decimals="2"
      id="Tc_d_r9HFaxekiLtkCxQDxJcQ_12_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_kpv2igZpWkyas0twTa96Iw"
      id="Tc_DitG4Th_cUWZJ6VjjeBmXQ_12_7">P6Y1M17D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_93CBiSCDEUysH2oYAFugkA"
      decimals="0"
      id="Tc_Jd-xqoBf_0Wz9b5sCAKh6Q_12_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">18364840</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_ArAfWplLXEOf3Y2a-dmirQ"
      decimals="INF"
      id="Tc_bPQR6Kd6UEunACDjhY4Efg_4_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">842271</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_ArAfWplLXEOf3Y2a-dmirQ"
      decimals="2"
      id="Tc_2OSi42eTykaLV0rt2A6A4Q_4_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">15.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2024_To_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_q1X2dBrxDUmXrdZ5cyGnXw"
      id="Tc_K9vz1m29Fk-EgZDm6B08YA_4_7">P8Y5M15D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_ArAfWplLXEOf3Y2a-dmirQ"
      decimals="0"
      id="Tc_Pan1qxQGtUi9xz1nFjdQKg_4_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">20847471</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ"
      decimals="INF"
      id="Tc_tppvV_eKEkK10UBOzzao1g_6_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">73232</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ"
      decimals="2"
      id="Tc_cPVoG_Ja102oKE9grs56wA_6_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.57</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ"
      decimals="INF"
      id="Tc_vMSRPopBW0yNAI60JTM6oQ_7_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">334</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ"
      decimals="2"
      id="Tc_J9dlvdpSJECZUzoRvOj_8Q_7_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw"
      decimals="INF"
      id="Tc_CugROh7zdk6_Ozd9pwC2iA_8_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">768705</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw"
      decimals="2"
      id="Tc_vfRgdrJYZU-Q8Bm2BbZEEg_8_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">17.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ"
      id="Tc_DLplVBfmmUGj0h1dmndKcQ_8_7">P8Y3M10D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw"
      decimals="0"
      id="Tc_aVV78fVePU6dKvyVjJWEVQ_8_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">16375435</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw"
      decimals="INF"
      id="Tc_NQ_y4XxrpkyEGVSxg9PZzQ_10_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">242512</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw"
      decimals="2"
      id="Tc_dQHuy9WfkUOKUUit83n39Q_10_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ"
      id="Tc_SDRjS6oUUUOOcO7IoOxGPA_10_7">P7Y5M26D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw"
      decimals="0"
      id="Tc_8Lj-RXGJmUOmtCltmoIncA_10_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7897315</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw"
      decimals="INF"
      id="Tc_ouvvbASdo0a_kU9BpNfDvA_12_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">768705</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw"
      decimals="2"
      id="Tc_DGfWNS2eIkWgPBxMsGnDGA_12_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">17.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hX-6cJ6Ntkis4zUlW80OeQ"
      id="Tc_EcktN1zMmU2-Y-DzKPnWbQ_12_7">P8Y3M10D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_Hnc_o-dj4EKpbTBnYVq1Vw"
      decimals="0"
      id="Tc_WeYp681uQEi1VYUQKpFfBg_12_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">16375435</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_moaJm0LrnU6MMaCV9yF0Jg"
      decimals="INF"
      id="Tc_wiVRhXQex0SS2TcuWiEUBA_4_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">923571</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_moaJm0LrnU6MMaCV9yF0Jg"
      decimals="2"
      id="Tc_XmDvII_sv0CASQHGrIhp2A_4_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_LnVHQtCd9EC23a6gqIpvEw"
      id="Tc_-Mi0Tgqs5UGqpXisvWAHrg_4_7">P8Y9M3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_moaJm0LrnU6MMaCV9yF0Jg"
      decimals="INF"
      id="Tc_llA2kgrW0UK-7fsgbIABlA_4_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4786252</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg"
      decimals="INF"
      id="Tc_BtpD1_MCJ06CnPY8D4TLFw_7_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">5334</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg"
      decimals="2"
      id="Tc_kILcQuG4akuntjXuC6sfyA_7_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g"
      decimals="INF"
      id="Tc_NFrxYC7KlUyt7NyV5ahoVQ_8_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">918237</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g"
      decimals="2"
      id="Tc_d4YtnV0ytEqyOmdToub5yg_8_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg"
      id="Tc_AF3w2vHp3kmIoA17Pq3PMA_8_7">P8Y6M7D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g"
      decimals="0"
      id="Tc_VhCcL_ER406I5D-3iqCRNw_8_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2946506</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g"
      decimals="INF"
      id="Tc_CPOUykGO4kS7nx4Vu1PtOg_10_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">386209</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g"
      decimals="2"
      id="Tc_5QVh5LsNP0C5HtIhlJAr5A_10_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg"
      id="Tc_M0BBCT39dU6LpVLRL2_Jng_10_7">P8Y5M26D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g"
      decimals="0"
      id="Tc_ueBCaouuHEqEfk_7AY17nQ_10_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1258907</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g"
      decimals="INF"
      id="Tc_V7K9lxUGXEKM58yORH3FGw_12_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">918237</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g"
      decimals="2"
      id="Tc_ORIa9GVfQU-Vhg6MXoKJJQ_12_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_hSXuxEb_MkGE2TO0NQHnQg"
      id="Tc_uiEUyKzwHkKC-mdAL8b4uw_12_7">P8Y6M7D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="As_Of_3_31_2024_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_8r8pWb-AOUyJt4yXS4U49g"
      decimals="0"
      id="Tc_eprmNHQ8t0SWJJu-EjOSRw_12_10"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2946506</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="INF"
      id="Narr_wExPpzYb206vMrQWVsxVaw"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="INF"
      id="Narr_BFF1uvw1S0-mzOKoqeAMBg"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="INF"
      id="Narr_JopZSfi_u0qVjbX-pKL46Q"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">261382</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="2"
      id="Narr_kNddqg4A5U2gdPsOwBIfBg"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.68</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="2"
      id="Narr_DbVWLY-IdkSwMNiiQUDVUA"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">3.68</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="As_Of_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_tXXF8_qns06soRwiVIrANQ"
      decimals="-5"
      id="Narr_wKqPnxPkBUqOBp33fbmlOA"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8200000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_CHYYJdAeeUeEKSw2Ki2jvA"
      id="Narr_KI7lv81mV0GpYGuJp_R5Tg">P31M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fK6QrLQeLkGrMkhbTCd_7g"
      id="Group_ipIooLNgL02oCGW_ZmfU9A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,249,079&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 20.98&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,751&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41.23&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (184,200)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.99&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (530,950)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.37&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 536,680&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41.03&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted&#160;Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 749,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.77&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (995)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8.29&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 748,761&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.78&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_lVVFl4O5sU6H9_Bbek0yJQ"
      decimals="INF"
      id="Tc_T3JSNARgzUCZW30oxhX5vQ_4_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">1249079</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_lVVFl4O5sU6H9_Bbek0yJQ"
      decimals="2"
      id="Tc_eOa0ae5JmEOS1cGZ8EKmAA_4_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">20.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw"
      decimals="INF"
      id="Tc_xlEiz_9w_0qntQ4DQqMijw_5_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">2751</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw"
      decimals="2"
      id="Tc_vkr8eWLrYEuPPHbTWsXchw_5_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">41.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw"
      decimals="INF"
      id="Tc_vYdLuDiTckuMIMRyctNnpQ_6_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">184200</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw"
      decimals="2"
      id="Tc_QUKtdzjr6kG4LwGp0lxrsA_6_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">4.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw"
      decimals="INF"
      id="Tc_ARdewaHb-E-7yT6rv_QheA_7_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">530950</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_418oKEahWEG4KkrLJRG4aw"
      decimals="2"
      id="Tc_IUAYN15zDUGDkDbbEPuKYQ_7_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">6.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_F_g84yoKqkudNGBcdq3IYQ"
      decimals="INF"
      id="Tc_QqxoQHlk2EuHZpquT5UbLg_8_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">536680</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_F_g84yoKqkudNGBcdq3IYQ"
      decimals="2"
      id="Tc_wXJJjzkvmEOiCJwKWfxncQ_8_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">41.03</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_hOLJk9PMLkmkjkHAEUse0g"
      decimals="INF"
      id="Tc_DeEyK_-kv0Ob9OmpTQ1tfw_4_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">749756</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_hOLJk9PMLkmkjkHAEUse0g"
      decimals="2"
      id="Tc_kfPYQhskv02w7mpegNlQBQ_4_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">5.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_QQC1vK8EAkaK4H4NqXPdIg"
      decimals="INF"
      id="Tc_CH7dPfxyuEKAxejr5vujqA_5_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_QQC1vK8EAkaK4H4NqXPdIg"
      decimals="2"
      id="Tc_8HPV3uvXiUmf5uMRyvi08Q_5_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_QQC1vK8EAkaK4H4NqXPdIg"
      decimals="INF"
      id="Tc_Q3egnEjlcEWZWXZitUarhQ_7_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">995</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_QQC1vK8EAkaK4H4NqXPdIg"
      decimals="2"
      id="Tc_WCXsaegeJEWiyJVA_srweQ_7_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">8.29</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_nkphx0hF80-7e_JgZJOf-w"
      decimals="INF"
      id="Tc_tH6aG6AnqUuQ7AJ_xje-jQ_8_2"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">748761</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_nkphx0hF80-7e_JgZJOf-w"
      decimals="2"
      id="Tc_E7Se3N3CtkyXRwtNgIGHdg_8_5"
      unitRef="Unit_Divide_USD_shares_xhMxbhLlOEu11cdnhuCgvw">5.78</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_TitleOfIndividualAxis_inod_NonEmployeeMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_uf8-D0wIrEWORyhDYe4Sbg"
      decimals="INF"
      id="Narr_poKNaC7CkkqKHdEkQSEQIA"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="As_Of_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_XJ4tjH17KEeA-xes37wPLA"
      decimals="-5"
      id="Narr_IJAmsDsodEGdTWGynnXYVQ"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">19600000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fK6QrLQeLkGrMkhbTCd_7g"
      id="Narr_vgmZwtA4N0WvVsca8fn6Gw">P31M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ComprehensiveIncomeNoteTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_lY7HLPMFo0qPTJUgmlBhUg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;9.&lt;/b&gt;&lt;/span&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive loss&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Accumulated other comprehensive loss, as reflected in the condensed consolidated balance sheets, consists of pension liability adjustments, net of taxes, foreign currency translation adjustment and changes in fair value of derivatives, net of taxes. The components of accumulated other comprehensive loss as of March 31, 2025 and 2024, and reclassifications from accumulated other comprehensive loss for the three-month periods, are presented below (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive&#160;Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (233)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (395)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,842)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,470)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Other comprehensive income before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 230&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Total other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (233)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (274)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,733)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,240)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 152&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (234)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (121)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,733)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,088)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,621)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (130)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (143)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Total other comprehensive income (loss) before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,380)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,764)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (413)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,380)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,786)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Taxes related to each component of other comprehensive loss were not material for each of the three-month periods presented and therefore not disclosed separately.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;All reclassifications from accumulated other comprehensive income (loss) had an impact on direct operating costs in the condensed consolidated statements of operations and comprehensive income.&lt;/p&gt;</us-gaap:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_kQXvVfLBfU6pKW-S4Acqtw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Accumulated other comprehensive loss, as reflected in the condensed consolidated balance sheets, consists of pension liability adjustments, net of taxes, foreign currency translation adjustment and changes in fair value of derivatives, net of taxes. The components of accumulated other comprehensive loss as of March 31, 2025 and 2024, and reclassifications from accumulated other comprehensive loss for the three-month periods, are presented below (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive&#160;Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at January 1, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (233)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (395)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,842)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,470)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Other comprehensive income before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 230&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Total other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (233)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (274)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,733)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,240)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 152&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at March 31, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (234)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (121)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,733)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,088)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at January 1, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,621)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (130)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (143)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Total other comprehensive income (loss) before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,380)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,764)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Balance at March 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (413)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,380)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,786)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_8MCRqwItXUmcFMeRzRXBSw"
      decimals="-3"
      id="Tc_QxUHlTViX0uopEH8D8TMwg_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-233000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_KznPYEsEV0WwNqmraIy8xg"
      decimals="-3"
      id="Tc_KauJI8pw4k-2w0r46wxi3g_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-395000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_t-z65Ak3I0ed3H7luPc7FQ"
      decimals="-3"
      id="Tc_4I87gy1U7kuuH-B4zudipQ_4_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1842000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_z3KIzkpaQEe2-ws4MeKhDA"
      decimals="-3"
      id="Tc_W2oxBTZ75kqbXznRJ-mqgA_4_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-2470000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_hI5PeDc27kW8II3a5erP_w"
      decimals="-3"
      id="Tc_EHn3DKiGtkGbV08hgRPaoQ_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">121000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_RiTXS69-x0qOBxN_DqVR-A"
      decimals="-3"
      id="Tc_aUpWI_LDb0i3V5wt4oxHDQ_5_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">109000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ"
      decimals="-3"
      id="Tc_UHgk1tIumUib8zZPiqR-Dg_5_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">230000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_4pvpjAaOnkq-3I5DTMB57w"
      decimals="-3"
      id="Tc_sXUGj5jXtUORaD8sH5tFsA_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-233000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_hI5PeDc27kW8II3a5erP_w"
      decimals="-3"
      id="Tc_Jo_kd1AYO0uj1nCEJG7Dgg_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-274000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_RiTXS69-x0qOBxN_DqVR-A"
      decimals="-3"
      id="Tc_c63t4y1YNESA91QfAnCDng_6_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1733000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ"
      decimals="-3"
      id="Tc_qhS0Z3qzPEWj_jysMyLgQg_6_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-2240000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_4pvpjAaOnkq-3I5DTMB57w"
      decimals="-3"
      id="Tc_1GzMx6ODfE6-tMMamXWyIg_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_hI5PeDc27kW8II3a5erP_w"
      decimals="-3"
      id="Tc_VZt4oZjAk0yuQvOgm_EJrA_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">153000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_JC7u9G3GYk2d-r6DpMLQjQ"
      decimals="-3"
      id="Tc_Kf_Jh_vPFka4Gav_EnTgng_7_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">152000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_j2ui3m7qeUm_DPP3DiImng"
      decimals="-3"
      id="Tc__lEGOHid6EiRt4T6KpbiNA_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-234000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_CRkG-VZ2XkybEC70qUI_CQ"
      decimals="-3"
      id="Tc_dxkOM6_qm0efHms2S2s94g_8_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-121000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_uv2_3X8okEKOmJtAsyi8Wg"
      decimals="-3"
      id="Tc_sqhidbIS6E-n5EoeDyFrwA_8_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1733000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2025_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DGJrsuEAKkKGO8JDx40oEw"
      decimals="-3"
      id="Tc_pasKc45yXUy6sEb9XvDXig_8_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-2088000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_cOmFGdRESEi5Uk3kWenrDg"
      decimals="-3"
      id="Tc_f5QZtmuPS0Gp01ygNnyyVg_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-412000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_y83tZ2wMjEW0s01FwUjVbQ"
      decimals="-3"
      id="Tc_c72cKU7530ur3AFZSVTUoA_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">41000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_LoLm4giUFEKAiFJ_YE48ag"
      decimals="-3"
      id="Tc_9U8yTKNkdUSxwYc9C-kMXg_4_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1250000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sRhdc0ZnR0q4ZHjL5zlSRw"
      decimals="-3"
      id="Tc_yU3_-HN_VUyeCwiv8hiXtA_4_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1621000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_3KzfqUaaXk2t238RLkLKKg"
      decimals="-3"
      id="Tc_OZbGC6YkkU6xM2O3ff1AfA_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-13000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_3t4BW1b080mIPP1DM5mMyQ"
      decimals="-3"
      id="Tc_ucd6qy1HBEKMSSVEElJGiA_5_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-130000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww"
      decimals="-3"
      id="Tc_ge0Gobm7CkSqLTDf3mQ08A_5_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-143000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_H1QwP7sCk0KjAQ4H-gWl1A"
      decimals="-3"
      id="Tc_3CIIWO0GdU2rac_o0CKikw_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-412000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_3KzfqUaaXk2t238RLkLKKg"
      decimals="-3"
      id="Tc_mlfWCSMEVUWuomtPgfDZww_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">28000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_3t4BW1b080mIPP1DM5mMyQ"
      decimals="-3"
      id="Tc_R83Wp4pThEiWqHudnV5C8g_6_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1380000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww"
      decimals="-3"
      id="Tc_2f6sva9No0mHCvS_0YnwnQ_6_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1764000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_H1QwP7sCk0KjAQ4H-gWl1A"
      decimals="-3"
      id="Tc_J-a37ktvpE2igJq42yJlXA_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_3KzfqUaaXk2t238RLkLKKg"
      decimals="-3"
      id="Tc_SVgI3YfumkWOeVLDeiApvg_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-21000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_T4o-1Gg7p0WgTsB47d_Sww"
      decimals="-3"
      id="Tc_M6gEcxFJMk6hlntu4aGzog_7_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-22000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_vdsQSR3yqkayOzSX0R5FsQ"
      decimals="-3"
      id="Tc_wx6AZLbG20qIoHhxkGS3wg_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-413000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_akxyCxa_JkKWbIOtoQK7Zg"
      decimals="-3"
      id="Tc_KtmPvHwfAkeAMM2lfjG1pw_8_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_wR4PJASvPkebrdyl6Cv4Kw"
      decimals="-3"
      id="Tc_nPuju7JsfEabnxQckeLJ4A_8_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1380000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_3_31_2024_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_nYar1tfyxk2rj6UzvMvBNg"
      decimals="-3"
      id="Tc_nzftuVZ6GkelUzMDKrqFYQ_8_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1786000</us-gaap:StockholdersEquity>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_82ZO2XYm10uL0wsUj5533w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;10.&lt;/b&gt;&lt;/span&gt;Segment reporting and concentrations&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s operations are classified in three reporting segments: Digital Data Solutions (&#x201c;DDS&#x201d;), Synodex and Agility.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The DDS segment provides AI data preparation services, collecting or creating training data, annotating training data, and training AI algorithms for its customers, and AI model deployment and integration. The DDS segment also provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Synodex segment provides an industry platform that transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Agility segment provides an industry platform that provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news channels (print, web, radio and TV) and social media channels. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;A significant portion of the Company&#x2019;s revenues is generated from its locations in the Philippines, India, Sri Lanka, Canada, Germany, Israel, United States and the United Kingdom.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s chief operating decision maker (&#x201c;CODM&#x201d;) is the senior executive committee that includes the chief executive officer, the chief operating officer, and the chief financial officer (interim).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The U.S. GAAP measures used by the Company&#x2019;s CODM to evaluate segment performance and allocate resources&#x2014;such as employees, property, and financial or capital resources during the annual budgeting and forecasting process, are Revenues, Gross Profit and Income before provision for income taxes. Performance results are monitored, reviewed, and measured monthly and quarterly by comparing budget and forecast to actual results for profit measures, assessing returns on investment, compensation decisions and changing strategies, if required.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The accounting policies used by the DDS, Synodex and Agility segments are the same as those described in the summary of significant accounting policies.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The measure of segment assets is reported on the balance sheet as total consolidated assets shown in the table below (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2024*&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 102,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 91,588&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,790&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,744&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,071&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 125,210&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 113,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;*&lt;i style="font-style:italic;"&gt;Prior period segment assets of DDS, Synodex and Agility segments have been reclassified to align with the current period presentation, with no impact on the Company&#x2019;s consolidated results.&lt;/i&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Agility assets include goodwill of &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;$2.0&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt; million for each of the periods ended March 31, 2025 and December 31, 2024.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Segment assets consist of cash, receivables, prepaid and other assets, property and equipment, right of-use-assets, deferred income tax and intangibles.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below shows segment information for other significant income statement items (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, 2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;DDS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Synodex&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Agility&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 50,831&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,013&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 58,344&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Direct operating costs &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1) (3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,102&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,461&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,529&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 35,092&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,729&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 552&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,971&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Selling and administrative expenses &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2) (4)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,594&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 286&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,980&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Segment operating income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,135&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (129)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,272&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (127)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (127)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income (loss) before provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,262&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (129)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,399&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;DDS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Synodex&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Agility&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,871&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,928&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Direct operating costs &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1) (3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,147&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,472&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,869&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,558&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 399&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,678&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,635&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Selling and administrative expenses &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2) (4)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,795&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 123&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,387&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,305&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Segment operating income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 763&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 291&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,330&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Interest (income) expense, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (85)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (84)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Income before provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 848&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 290&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,414&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, recruitment costs and other direct expenses that are incurred in providing services to our customers.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for credit losses and other administrative overhead expenses.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(3)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Includes non-cash expenses which consist mainly of depreciation, amortization of capitalized software development costs and stock-based compensation expense.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(4)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Includes non-cash expenses which consist mainly of stock-based compensation expense.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Revenues for the three-month periods ended March 31, 2025, and 2024 by geographic region (determined based upon customer&#x2019;s domicile), were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 48,897&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,872&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,226&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United Kingdom &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,426&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,249&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;The Netherlands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,165&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,039&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Others - principally other European countries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,133&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,118&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 58,344&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Long-lived assets as of March 31, 2025 and December 31, 2024 by geographic region were comprised of (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,633&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,182&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign countries:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,214&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,265&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 806&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Philippines&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,606&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,532&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;India&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,367&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,251&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Sri Lanka&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 621&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 587&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Israel&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 74&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 63&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,670&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,508&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,303&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,690&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;"&gt;Long-lived assets include the unamortized balance of right-of-use assets amounting to $4.0 million and $4.2 million as of March 31, 2025 and December 31, 2024, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;One customer in the DDS segment generated approximately 61% and 24% of the Company&#x2019;s total revenues for the three months ended March 31, 2025 and 2024, respectively. No other customer accounted for 10% or more of total revenues during these periods. Further revenues from non-U.S. customers accounted for 16% and 33% of the Company&#x2019;s total revenues for the three months ended March 31, 2025 and 2024, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;As of March 31, 2025, approximately 17% of the Company&#x2019;s accounts receivable was due from foreign (principally European) customers and 51% of the Company&#x2019;s accounts receivable was due from one customer. As of December 31, 2024, approximately 16% of the Company&#x2019;s accounts receivable was due from foreign (principally European) customers and 61% of the Company&#x2019;s accounts receivable was due from two customers. No other customer accounted for 10% or more of the accounts receivable as of March 31, 2025 and December 31, 2024.&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="INF"
      id="Narr_FTZ2SKCNZ0evnkNYibD0ug"
      unitRef="Unit_Standard_segment_Fd9GiEWAlkm1J2XHWdbi8A">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb__WY2xr_gU06Bj31hEaJlvg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The measure of segment assets is reported on the balance sheet as total consolidated assets shown in the table below (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March 31, 2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, 2024*&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 102,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 91,588&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,790&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,744&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,071&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 125,210&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 113,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;*&lt;i style="font-style:italic;"&gt;Prior period segment assets of DDS, Synodex and Agility segments have been reclassified to align with the current period presentation, with no impact on the Company&#x2019;s consolidated results.&lt;/i&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Agility assets include goodwill of &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;$2.0&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt; million for each of the periods ended March 31, 2025 and December 31, 2024.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Segment assets consist of cash, receivables, prepaid and other assets, property and equipment, right of-use-assets, deferred income tax and intangibles.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;</us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_s18ad0ZGikyHRxLuAMtroA"
      decimals="-3"
      id="Tc_3z7oZX-9vkKoLto-V27u_A_3_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">102723000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_QZxJyZGfOEmuRBt-ppuQwQ"
      decimals="-3"
      id="Tc_nm_KUZN0lEGuwMwXCCqjWQ_3_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">91588000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_PwAkRgdSJk-tulvH58Qivw"
      decimals="-3"
      id="Tc_N2t8cOKlUkKWWomEIxySTw_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4743000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_71Ok5Hnwl0mWlDTCaiJpCQ"
      decimals="-3"
      id="Tc_6Tfu3NTSDkqu69AZFCqZNw_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4790000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_or5Vs6YBN0SyFws3DWyBiw"
      decimals="-3"
      id="Tc_WrCUVD3-dkGWvV647BRChw_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">17744000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kyIc6s8LlkqxYFfRd8-KGA"
      decimals="-3"
      id="Tc_eSyDArD7MkCXHrDdhOPHgw_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">17071000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_ibI4r3eQ3EKLm2csV39Ezw_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">125210000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_3AkPNG9e40KUeH3UECYG1A_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">113449000</us-gaap:Assets>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_or5Vs6YBN0SyFws3DWyBiw"
      decimals="-5"
      id="Narr_bQfoOYB86Uadhm_Vw1JgFg"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2000000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kyIc6s8LlkqxYFfRd8-KGA"
      decimals="-5"
      id="Narr_bPe8B82Zlk2U0RARfx-wnw"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2000000</us-gaap:Goodwill>
    <us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_CDlsFglayEqqQj6O7d2TJQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below shows segment information for other significant income statement items (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, 2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;DDS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Synodex&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Agility&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 50,831&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,013&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 58,344&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Direct operating costs &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1) (3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 31,102&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,461&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,529&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 35,092&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,729&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 552&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,971&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Selling and administrative expenses &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2) (4)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,594&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 286&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,980&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Segment operating income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,135&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (129)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,272&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (127)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (127)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income (loss) before provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,262&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (129)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,399&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March 31, 2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;DDS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Synodex&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Agility&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,871&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,928&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Direct operating costs &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1) (3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,147&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,472&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,869&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,558&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 399&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,678&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,635&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Selling and administrative expenses &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2) (4)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,795&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 123&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,387&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,305&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Segment operating income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 763&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 291&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,330&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Interest (income) expense, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (85)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (84)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Income before provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 848&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 290&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,414&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, recruitment costs and other direct expenses that are incurred in providing services to our customers.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for credit losses and other administrative overhead expenses.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(3)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Includes non-cash expenses which consist mainly of depreciation, amortization of capitalized software development costs and stock-based compensation expense.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(4)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Includes non-cash expenses which consist mainly of stock-based compensation expense.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;</us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA"
      decimals="-3"
      id="Tc_PrDfyp31wUqTzXr_0ZXzQg_3_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">50831000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA"
      decimals="-3"
      id="Tc_8TK9fkIMZEOeaIvw9y2l4Q_3_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2013000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g"
      decimals="-3"
      id="Tc_lbz0kXUp1kSe41lALrow0g_3_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">5500000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_E-h0uZ1dZkuCmbOAFeZmtw_3_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">58344000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA"
      decimals="-3"
      id="Tc_ggPvThn5Q0O6SIgsMXebcA_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">31102000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA"
      decimals="-3"
      id="Tc_yWe4RbxNtU-1xTJd5Y6IOg_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1461000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g"
      decimals="-3"
      id="Tc_NuKYUA_4WESM35ChIwMZuA_4_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2529000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_2iU-BXW0YEiJIaJIPqE71g_4_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">35092000</us-gaap:DirectOperatingCosts>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA"
      decimals="-3"
      id="Tc_INK0UfSP30OrMRO-Tnw9AA_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">19729000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA"
      decimals="-3"
      id="Tc_uTX9YY4tSU-bvIeZDa_WLg_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">552000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g"
      decimals="-3"
      id="Tc_HtbYtmq6AEyCEx1zAAhMqQ_5_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2971000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_YdzR65LfHEScLeqqXda3Zg_5_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">23252000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA"
      decimals="-3"
      id="Tc_OJ47NtFkWUerIqxbbv3n6w_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">11594000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA"
      decimals="-3"
      id="Tc_djsOvaXJWkmtMYIHcxpYKQ_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">286000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g"
      decimals="-3"
      id="Tc_owuqJ-YyJUuAcXbmjHvIFA_6_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3100000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_MGmwmnIAzE2JY59geyh-Nw_6_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">14980000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA"
      decimals="-3"
      id="Tc_MWbqq41unE6h1Vcy36dT_Q_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8135000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA"
      decimals="-3"
      id="Tc_dV7IeXg2V0GXJGEUx_2YrA_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">266000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g"
      decimals="-3"
      id="Tc_vWpF0BcSVEmypUxmBWROYQ_7_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-129000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_NK-mFjtVGEW_1VIKF0yAKw_7_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8272000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA"
      decimals="-3"
      id="Tc_5ut-t_Exx0GB2ZItSGyo8w_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">127000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_LADUhKbVLk2DOJCFScZ2Wg_8_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">127000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_Zn9pJ95f_UKoBMGayq72PA"
      decimals="-3"
      id="Tc_czjYk90qF0GIbK2F_S9x3Q_9_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8262000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_cUANAU_CK0GydLJ8MF4ryA"
      decimals="-3"
      id="Tc_qFM1DwbN6kuZcjRnhxSGoA_9_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">266000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_kmF5h7IN2kaynCsq9YVl6g"
      decimals="-3"
      id="Tc_N9UTfB9UT0yF3Tz2bk5K4A_9_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-129000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_vsaAX3HJd02zsD5dHes0sA_9_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8399000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w"
      decimals="-3"
      id="Tc_pXx2fyg3EEqIE9XZ3rAiSg_3_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">19705000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg"
      decimals="-3"
      id="Tc_VdY2B8AT0Emp1O6fMEVt4Q_3_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1871000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q"
      decimals="-3"
      id="Tc_-xgCc9SsqkKtRgnJfcNSgw_3_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4928000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_ts2-NqjHB0-5EEVY6hEtUQ_3_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">26504000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w"
      decimals="-3"
      id="Tc_qk6DsOjns0OygoLbZNhFEw_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">13147000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg"
      decimals="-3"
      id="Tc_gIfGJeqzL06gDwXH-iSkzg_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1472000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q"
      decimals="-3"
      id="Tc_oRwBxx2WkU-34PqXKhqgpQ_4_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2250000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_lBl36RWdGEaA4hoKUnsr1Q_4_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">16869000</us-gaap:DirectOperatingCosts>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w"
      decimals="-3"
      id="Tc_hvocUF_wzEmPmKTw-5dGMg_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6558000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg"
      decimals="-3"
      id="Tc_QzNlo4JtKk-JSn43iG9vfQ_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">399000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q"
      decimals="-3"
      id="Tc__LvIbXkRK06FkMv_gxJXWQ_5_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2678000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_1y2aMVThzU6u1I9lmGF_Kw_5_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">9635000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w"
      decimals="-3"
      id="Tc_9ZjR3MPUm0OzmuUCCRqizQ_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">5795000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg"
      decimals="-3"
      id="Tc_GRhXE3B5dUmTiQWMs1H0Yw_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">123000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q"
      decimals="-3"
      id="Tc_HAAldbD6KUGGEh3BDgSi8A_6_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2387000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_1CU3jrBttkab84Jp8U0W6Q_6_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">8305000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w"
      decimals="-3"
      id="Tc_GmCj0mcAPkGFlEpVPYyzag_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">763000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg"
      decimals="-3"
      id="Tc_foMi734S_0Kgg5oZFQSKCg_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">276000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q"
      decimals="-3"
      id="Tc_TmkAFcruQ0iukRBkDrd68Q_7_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">291000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc__Umyn4aHs0KwzQ1U8ZZx0g_7_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1330000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w"
      decimals="-3"
      id="Tc_K-SJlMxwW0ufE3OsvTjPdw_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">85000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q"
      decimals="-3"
      id="Tc_v4vRoNEITUGWDovidjMBZw_8_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-1000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_hNZ3IWmR9UCGyuQmydxQqQ_8_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">84000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_ag4jND5uBkSuEjbapKT10w"
      decimals="-3"
      id="Tc_t_xhpPr-ekuopRowtA7Epg_9_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">848000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_gKn90slP9E2SGB8ySRD9Wg"
      decimals="-3"
      id="Tc_0XQB-hxVa0SPZIImHztW1Q_9_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">276000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_ijwhyOpFGUWM-W3fNOKj8Q"
      decimals="-3"
      id="Tc_YUycGgJO9UWQHq2dgf0AhA_9_9"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">290000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_VZPj8IN_a0GRg99Fsz0Awg_9_12"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">1414000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_5_GQS-h4KUCsw4Vh8WYwWQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Revenues for the three-month periods ended March 31, 2025, and 2024 by geographic region (determined based upon customer&#x2019;s domicile), were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 48,897&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,872&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,226&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United Kingdom &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,426&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,249&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;The Netherlands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,165&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,039&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Others - principally other European countries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,133&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,118&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 58,344&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 26,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_US_L8Bb2CplukOv0vsyaON87Q"
      decimals="-3"
      id="Tc_1cUl1bkujE6EQ-dLgI3Htw_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">48897000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_US_Orie9KXpk02RNRodlJF9gw"
      decimals="-3"
      id="Tc_RU7QvyUVq0a18hObqpIj5Q_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">17872000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_CA_krcKLQZfyUalWvgWXnU2_A"
      decimals="-3"
      id="Tc_xf1XPPATx0yQB4f9mLPHuQ_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2723000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_CA_D-GEb2y9F0Oief308_pVwQ"
      decimals="-3"
      id="Tc_ICEZBdHITkiMyDBnxGarmw_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2226000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_GB_p0dyuBvOtEKn8uDmOHJZuw"
      decimals="-3"
      id="Tc_idStdiz2fE-vm-RxJ_eUFQ_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2426000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_GB_HUw2aep-DUeJFQW3DwL-zw"
      decimals="-3"
      id="Tc_JX1n9p_Z3UWcdBmZhTa55w_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2249000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_country_NL_WCF2Bj7Z40C3mekZgNQtnQ"
      decimals="-3"
      id="Tc_mb0EWTDHIkODyzJIKajWSg_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2165000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_country_NL_Vdm6p37w7k2cO2KGKg0qfw"
      decimals="-3"
      id="Tc_z0VQvtIoCESQPOg8hC6QAQ_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2039000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_tP8Z5fRK20mh6CsOZe5kRA"
      decimals="-3"
      id="Tc_tii-54MavU6L7B28wDHc_g_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2133000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_lTVTtBlQUkauEGUUOLGcvQ"
      decimals="-3"
      id="Tc_1g3vUpVLd0eYIAHR4BaJoQ_8_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2118000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_LDVztXD1lUaKypODeIqxXA_9_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">58344000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_dIxW5lYP-EyxCQrxvhipxg_9_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">26504000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_16wug_1XfUCQ8uo1w_m3gQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Long-lived assets as of March 31, 2025 and December 31, 2024 by geographic region were comprised of (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,633&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,182&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign countries:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,214&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,265&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 806&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Philippines&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,606&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,532&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;India&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,367&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,251&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Sri Lanka&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 621&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 587&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Israel&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 74&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 63&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,670&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,508&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 24,303&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,690&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_US_CHYsuTVyMUu34excVbZvMQ"
      decimals="-3"
      id="Tc_3vbL5yeMuk6Q6uyrY6-ULw_3_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">10633000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_US_71OTmsbtHkisYtT2ixZrLw"
      decimals="-3"
      id="Tc_ifSMYm5KfUKmY58wm5tRNw_3_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">10182000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_CA_Kw1YwoyLy0K60osz8bzD2Q"
      decimals="-3"
      id="Tc_ib9-BqHC2UaEQH7goJtVAQ_6_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6214000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_CA_QgpY_glChUKft7yTRv7yzw"
      decimals="-3"
      id="Tc_NWfVGd9WRkeVQJY2rHBAKA_6_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">6265000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_GB_aEj27gVBL06ErDGXBshbHw"
      decimals="-3"
      id="Tc_0itMOXU5OUqmjFKISTZLAA_7_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">784000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_GB_-xqlaMvyNkKnRDjZvgWQtw"
      decimals="-3"
      id="Tc_V8IwRjLyaUiaWdtaiYJ6rA_7_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">806000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_PH_Ye_dAdcAAkGUSo6loAkyDQ"
      decimals="-3"
      id="Tc_9k0hds-rEkuzIMTYM8wPvw_8_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3606000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_PH_cC8_un4h6USVH87pR9U3Eg"
      decimals="-3"
      id="Tc_jEZN6B3m0EG23CpDnmv99w_8_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">3532000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_IN_fHG8lzXvZk6os1HMQrfjIQ"
      decimals="-3"
      id="Tc_jq-4MDJ9ikG5b2bev15TYA_9_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2367000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_IN_BjDfzcNeiUai1zY5JwYz5g"
      decimals="-3"
      id="Tc_GfxTnOlsEkG_OIXYjc4IDw_9_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">2251000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_LK_lmw_mD6qEk2JNkheZLMSFA"
      decimals="-3"
      id="Tc_FNQdj1Jy2EG2JICj-rDm8g_10_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">621000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_LK_PRAWsEUTv0uYNwqKKc91ag"
      decimals="-3"
      id="Tc_qVqJye2HnkWXDaVUR7BhFQ_10_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">587000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_stpr_IL_xF0tN2ChnESVM1hf03uDJw"
      decimals="-3"
      id="Tc_YUopK6-Y4kyLu2Ll_JkMbA_11_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">74000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_stpr_IL_PXv6rk6z9UWZlWwSVVzwog"
      decimals="-3"
      id="Tc_Vm8EWXYJBkGgQHFjOQAT8w_11_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">63000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_country_DE_MrJ71MNrn0SJkHUliE-lDA"
      decimals="-3"
      id="Tc_mRqh60TOWEaTyDtLlxvk8g_12_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_country_DE_Pz0GPa-sAkGbfy8ShDPI7Q"
      decimals="-3"
      id="Tc_8n7IDr7ZNUm7ZaV2YJRurQ_12_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_3_31_2025_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_7maW9yg8d06jLKHj6t8iFQ"
      decimals="-3"
      id="Tc_moy_CId6rUuU2G2BIo9M4Q_13_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">13670000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_YCer3vRef0mN_XtnBoRCyw"
      decimals="-3"
      id="Tc_VByGBpFg3UmmRCqHd-qYwg_13_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">13508000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-3"
      id="Tc_bm8CC2Ota0W1pkNAsKoyZw_14_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">24303000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-3"
      id="Tc_RH2vWR5rxUua6ya7l176Ug_14_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">23690000</us-gaap:NoncurrentAssets>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-5"
      id="Narr_dkJhuu3o70KsDpJRex_I6g"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4000000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-5"
      id="Narr_6sii9sKlE0-2xvLW5F1S7Q"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4200000</us-gaap:OperatingLeaseRightOfUseAsset>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2024_To_3_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uXH36uHHL0m1WrN0XlMGRg"
      decimals="INF"
      id="Narr_adiSnZem2k2KWvjD3ME40w"
      unitRef="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA">1</inod:NumberOfClient>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mB5Q9K96UUOy8n4DHEVETQ"
      decimals="INF"
      id="Narr_W5Hwk0QD-kaLPBJ-jlnbNg"
      unitRef="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA">1</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mB5Q9K96UUOy8n4DHEVETQ"
      decimals="2"
      id="Narr_V3pHVnXYhUK264nXPwtk6A"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.61</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2024_To_3_31_2024_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uXH36uHHL0m1WrN0XlMGRg"
      decimals="2"
      id="Narr_1i9toDGH80W3Uv-WI-hJZw"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.24</us-gaap:ConcentrationRiskPercentage1>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_oP9z7AdlrEObIp_UUraYcw"
      decimals="INF"
      id="Narr_BI1Z7cRjZUGabOhaPfJqnw"
      unitRef="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA">0</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_DUwm5kwbA0aiMdaOVLxcug"
      decimals="2"
      id="Narr_1dxH3J6KuE2NzHAerU9C4w"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Nbo_UcopHk2Q_vLSX6yBkw"
      decimals="2"
      id="Narr_e3vs771uCkyWEYw3E_MLGQ"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2024_To_3_31_2024_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_5oVJAKDc8U2Qc1h5x7cKsQ"
      decimals="2"
      id="Narr_fylOs8KsJ06ofvIWndWp1w"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.33</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9_cimou6DkmSYRDyvGCZDg"
      decimals="2"
      id="Narr_iNq1XnsrpkuPBO_iEsCwXw"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IyGkHxiXZk-_hLlU7TXN9Q"
      decimals="2"
      id="Narr_b896sSzhokC2D7YuzXopRg"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.51</us-gaap:ConcentrationRiskPercentage1>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IyGkHxiXZk-_hLlU7TXN9Q"
      decimals="INF"
      id="Narr_obL1dQmD6UyqN39KSQWIOQ"
      unitRef="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA">1</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9xNFECjx_EelJhdPv7MFEw"
      decimals="2"
      id="Narr_A0V2BRz0T0COOY9DOMXUFg"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_h_ogQc6aJk2JcVL0ksKIsw"
      decimals="2"
      id="Narr_tjrF9xaxOUupdXGTnEO5xA"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.61</us-gaap:ConcentrationRiskPercentage1>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_h_ogQc6aJk2JcVL0ksKIsw"
      decimals="INF"
      id="Narr_o7MasdxTVEyWmjd-vOnpOg"
      unitRef="Unit_Standard_customer_MJb2MRu9IU6kfVqAXPCaHA">2</inod:NumberOfClient>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_ilzQJWOgq0K-PNap8oltkA"
      decimals="0"
      id="Narr_Tza5V1XiSkGyvEljX-1a7Q"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0</inod:NumberOfClient>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_T9fhNM_RBEehb2ZVjzFLnA"
      decimals="0"
      id="Narr_4aVvIPy_pE-vIzlKN54Rww"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2025_To_3_31_2025_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_MzxGSCoGskCqEjEzp2Xlag"
      decimals="2"
      id="Narr_xZVCVlSECU-_oUOKEkt-YQ"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2024_To_12_31_2024_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_yIOB3NDyiE-L4xehgvE7yQ"
      decimals="2"
      id="Narr_2PwzQzgrcEG9FiZleyfDQQ"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_y5KPjq6Hs0C9nZC_1eVNkw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;11.&lt;/b&gt;&lt;/span&gt;Income Per Share&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The calculation of the dilutive effect of outstanding options is shown in the table below (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net income attributable to Innodata Inc. and Subsidiaries &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,787&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 989&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Weighted average common shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,753&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Dilutive effect of outstanding options &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,517&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,486&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Adjusted for dilutive computation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,239&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Basic income per share is computed using the weighted-average number of common shares outstanding during the year. Diluted income per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted-average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#x201c;two-class&#x201d; method of computing income per share is used.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Options to purchase 3.7 million shares of common stock for the three months ended March 31, 2025 were outstanding and included in the computation of diluted income per share.&lt;span style="font-size:11pt;"&gt; &lt;/span&gt;Also included in the computation of diluted income per share are 449,342 restricted stock units using the treasury stock method to determine the dilutive effect of restricted stock units outstanding as of March 31, 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Options to purchase 3,000 shares of common stock for the three months ended March 31, 2024 were outstanding but not included in the computation of diluted income per share because the exercise price of the options was greater than the average market price of the common shares.&lt;/p&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_LykY_dOFmUSeY03F4Jv-rw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The calculation of the dilutive effect of outstanding options is shown in the table below (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net income attributable to Innodata Inc. and Subsidiaries &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,787&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 989&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Weighted average common shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,753&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Dilutive effect of outstanding options &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,517&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,486&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Adjusted for dilutive computation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,239&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_nghY20QrqUWdN_ncupPlYw_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">7787000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_406edah_PEeYD8jKqoqv5g_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">989000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_oHPz7hneH0mLBkJIbukMow_5_3"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">31434000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_VzhazdcVVUin7z3X-A5G8A_5_6"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">28753000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_IZnvK5Q_N0KrYHD4Y30imw_6_3"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">3517000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_TYPFWmSWSU-9k6FApl8ISw_6_6"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">3486000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_Af3csxFM7k2y0-BYerBlUg_7_3"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">34951000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_aEGB98MQ6EWe8Opb2V_yjw_7_6"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">32239000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_afIUS4pplUCgwZk4MTnYOg"
      decimals="-5"
      id="Narr_osY7JcemKUGZ8QKEPG1S9Q"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">3700000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fK6QrLQeLkGrMkhbTCd_7g"
      decimals="INF"
      id="Narr_lgcyApv9L02KR6mJXXuJHg"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">449342</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2024_To_3_31_2024_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_DtMLgfZ37Eq41Sk_OgslaA"
      decimals="INF"
      id="Narr_aWJJ2C72rU6LGYMnPCfNfw"
      unitRef="Unit_Standard_shares_shXvB9uv7UmU_Dr3cgP6Jg">3000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_ysT8cXG3GEuT3I7gDhZd-Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;12.&lt;/b&gt;&lt;/span&gt;Derivatives&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company conducts a large portion of its operations in international markets, which subjects it to foreign currency fluctuations. The most significant foreign currency exposures occur when revenue and associated accounts receivable are collected in one currency and expenses to generate that revenue are incurred in another currency. The Company is also subject to wage inflation and other government mandated increases and operating expenses in Asian countries where the Company has the majority of its operations. The Company&#x2019;s primary inflation and exchange rate exposure relates to payroll, other payroll costs and operating expenses in the Philippines, India, Sri Lanka and Israel.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;In addition, although most of the Company&#x2019;s revenue is denominated in U.S. dollars, a significant portion of total revenues is denominated in Canadian dollars, Pound Sterling and Euros.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;The Company&#x2019;s policy is to enter derivative instrument contracts with terms that coincide with the underlying exposure being hedged for a period of up to 12 months. As such, the Company&#x2019;s derivative instruments are expected to be highly effective. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded to other comprehensive income (loss). Upon settlement of these contracts, the change in the fair value recorded in other comprehensive income (loss) is reclassified to earnings and included as part of direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of direct operating costs&lt;/span&gt;.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking hedge transactions. The Company does not hold or issue derivatives for trading purposes. All derivatives are recognized at their fair value and classified based on the instrument&#x2019;s maturity date. The total notional amount for outstanding derivatives designated as hedges was $17.2 million and $22.5 million as of March 31, 2025 and December 31, 2024, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the fair value of derivative instruments included within the condensed consolidated balance sheets as of March 31, 2025 and December 31, 2024 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Derivatives designated as hedging instruments:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 499&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The effect of foreign currency forward contracts designated as cash flow hedges on the condensed consolidated statements of operations for the three months ended March 31, 2025 and 2024 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain (loss) recognized in OCI&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 121&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (13)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net (gain) loss reclassified from accumulated OCI into income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (21)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain recognized in income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:10pt;"&gt;Net change in fair value of the effective portion classified into other comprehensive income (&#x201c;OCI&#x201d;).&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:10pt;"&gt;Effective portion classified within direct operating costs.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:10pt;"&gt;There were no ineffective portions for the periods presented.&lt;/span&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:DerivativeNotionalAmount
      contextRef="As_Of_3_31_2025_yoAn6i2sQ0m1sS_L8csVjQ"
      decimals="-5"
      id="Narr_j58B7d5th0qUoI8ML166-g"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">17200000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="As_Of_12_31_2024_M8e11XN2BkK_X3Lq78s8Mg"
      decimals="-5"
      id="Narr_PwIXm6r6lUqLLgDOhcEDmA"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">22500000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_Io-jAFIJX0-KeUxqnO63nA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the fair value of derivative instruments included within the condensed consolidated balance sheets as of March 31, 2025 and December 31, 2024 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December 31, &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Derivatives designated as hedging instruments:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 499&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="As_Of_3_31_2025_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_RNjgcR6AlkmhzfO7wA-2wg"
      decimals="-3"
      id="Tc_gXOMIbcGiUyBOrWZyAlJrA_6_5"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">153000</us-gaap:DerivativeInstrumentsAndHedgesLiabilities>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="As_Of_12_31_2024_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_RfdoGv144E-H_TGon5JC2w"
      decimals="-3"
      id="Tc_2gqHKUPsG0WMlA4wOCyxAQ_6_8"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">499000</us-gaap:DerivativeInstrumentsAndHedgesLiabilities>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_x6THb5DFQ0CtfjQUrScwNg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The effect of foreign currency forward contracts designated as cash flow hedges on the condensed consolidated statements of operations for the three months ended March 31, 2025 and 2024 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2025&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain (loss) recognized in OCI&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 121&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (13)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net (gain) loss reclassified from accumulated OCI into income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (21)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain recognized in income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:10pt;"&gt;Net change in fair value of the effective portion classified into other comprehensive income (&#x201c;OCI&#x201d;).&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:10pt;"&gt;Effective portion classified within direct operating costs.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"&gt;&lt;span style="font-size:10pt;"&gt;There were no ineffective portions for the periods presented.&lt;/span&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_CXFRZdCk7UmU3gjGvGe2Rg_4_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">121000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_CEa8jKqKake0Lbbrzkem7A_4_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-13000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      decimals="-3"
      id="Tc_D8liQVLnq0OrajaGs-pazQ_5_3"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">153000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax
      contextRef="Duration_1_1_2024_To_3_31_2024_dAvMxdMk-kajo3W7WqRamg"
      decimals="-3"
      id="Tc_C48-iEnmwEWF8egnvTNoKQ_5_6"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">-21000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Tb_WShiDhrUkkeEbKO4WBimKg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:18pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;13.&lt;/b&gt;&lt;/span&gt;Line of Credit&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;"&gt;On April 4, 2023, the Company entered into a Credit Agreement (the &#x201c;Credit Agreement&#x201d;) with Wells Fargo Bank, National Association, as lender, and Innodata Inc., Innodata Synodex, LLC, Innodata docGenix, LLC and Agility PR Solutions LLC as co-borrowers. On July 21, 2023, Innodata Services, LLC signed a Joinder Agreement to join the Credit Agreement as a co-borrower. On August 5, 2024, the Company entered into a second amendment to the Credit Agreement (together with the Credit Agreement, the &#x201c;Amended Credit Agreement&#x201d;). The Amended Credit Agreement provides for a secured revolving line of credit (the &#x201c;Revolving Credit Facility&#x201d;) up to an amount equal to the lesser of the borrowing base and &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$30.0&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million (the &#x201c;Maximum Credit&#x201d;) and provides that a Borrower may request an increase to the Revolving Credit Facility&#x2019;s Maximum Credit of up to, but not to exceed &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$50.0&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million, subject to the approval of the Lender. The Revolving Credit Facility&#x2019;s borrowing base is calculated on the basis of (i) &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;85%&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; of eligible&lt;/span&gt; &lt;span style="font-size:10pt;"&gt;accounts (other than eligible foreign accounts and unbilled accounts), plus (ii) the lesser of (a) &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;80%&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; of eligible accounts that are unbilled accounts and (b) &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;30%&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; of all eligible accounts, plus (iii) the lesser of (a) &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;85%&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; of eligible foreign accounts, (b) &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;20%&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; of all eligible accounts and (c) &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$4.0&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million, minus (iv) certain other reserves and adjustments. As of March 31, 2025, such borrowing base calculation equaled approximately &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;$21.4&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; million. The Credit Agreement contains a financial covenant that requires the Borrowers, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;1.10&lt;/span&gt;&lt;span style="font-size:10pt;"&gt; to 1.00. Except as set forth in the Credit Agreement, borrowings under the Revolving Credit Facility bear interest at a rate equal to the daily simple secured overnight financing rate (&#x201c;&lt;/span&gt;&lt;span style="-sec-ix-hidden:Hidden_TBh2HRybv0uQyjy6gGi50w;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;SOFR&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;&#x201d;) plus &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;2.25%&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;. The Company did not utilize the Revolving Credit Facility during the three months ended March 31, 2025 or during the subsequent period through the filing date of this Report.&lt;/span&gt;&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ"
      decimals="-5"
      id="Narr_yz4hvt3UT0KvX9vdbTfL0Q"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">30000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <inod:LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ"
      decimals="-5"
      id="Narr_yTuah4IHpkiHK7vli3HFOQ"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">50000000</inod:LineOfCreditFacilityMaximumBorrowingCapacitySubjectToApprovalOfLender>
    <inod:LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ"
      decimals="2"
      id="Narr_tufcPa7tpk-lo3UHuTZO3A"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.85</inod:LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ"
      decimals="2"
      id="Narr_Awg0gbxYsEWljh0GixJ_rA"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.80</inod:LineOfCreditFacilityPercentageOfEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ"
      decimals="2"
      id="Narr_XLoXCP3u1UKnK0hfbUrJwg"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.30</inod:LineOfCreditFacilityPercentageOfAllEligibleUnbilledAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ"
      decimals="2"
      id="Narr_m1UkJeybAk-OxQX50ralrQ"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.85</inod:LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ"
      decimals="2"
      id="Narr_pM5WdAcCgU274vufF2g3OQ"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.20</inod:LineOfCreditFacilityPercentageOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qKUaZbaAHkWOeTyUYhLXbQ"
      decimals="-5"
      id="Narr_yUnItbDPbEO8yeopaTZXBg"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">4000000</inod:LineOfCreditFacilityAmountOfAllEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityBorrowingBase
      contextRef="As_Of_3_31_2025_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_KKUCakEdUkWQ65BDAQTCVA"
      decimals="-5"
      id="Narr_RRi8EjpnTE6ywIUgDi4IuA"
      unitRef="Unit_Standard_USD_EqAr3RMvQEmAgDkClrXYKg">21400000</inod:LineOfCreditFacilityBorrowingBase>
    <inod:LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio
      contextRef="Duration_8_5_2024_To_8_5_2024_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_vC9JtCo230iJadEiM5NDSA"
      decimals="2"
      id="Narr_e1FiIlpHIky-G5aipp8ZFA"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">1.1</inod:LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2025_To_3_31_2025_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_U3PBbfA1pkOZxwvpWNud3A"
      decimals="4"
      id="Narr_KBQ8YjZmj0qujjrb4_2ppA"
      unitRef="Unit_Standard_pure_6Lv3CcyRDk6EuXOGoBIj7w">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_LtJOoa77D0a-wJZNJYS8Sg">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_li-dEwN8nUOwx0049sGHFg">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_9nOD3wlCLkuj0trIDA9mbA">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag
      contextRef="Duration_1_1_2025_To_3_31_2025_p8K38gwIwEit4eieYoBhTw"
      id="Narr_Vnx6TVjplUaLQYEERxJWtg">false</ecd:NonRule10b51ArrTrmntdFlag>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#Tc_6-XTuA941kGUwBNEA6t3xw_42_6"
          xlink:label="Tc_6-XTuA941kGUwBNEA6t3xw_42_6"
          xlink:type="locator"/>
        <link:footnote id="_e5ca3052_76e5_48e0_989e_6a0090e19eff" xlink:label="_e5ca3052_76e5_48e0_989e_6a0090e19eff" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:i style="font-size:10pt;font-style:italic;">Noncontrolling interests are included within stockholders&#x2019; equity in the condensed consolidated balance sheet as the amounts are immaterial.</xhtml:i></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_6-XTuA941kGUwBNEA6t3xw_42_6"
          xlink:to="_e5ca3052_76e5_48e0_989e_6a0090e19eff"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_wNJjs5arw0GCdCLC9jhPxQ_42_3"
          xlink:label="Tc_wNJjs5arw0GCdCLC9jhPxQ_42_3"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_wNJjs5arw0GCdCLC9jhPxQ_42_3"
          xlink:to="_e5ca3052_76e5_48e0_989e_6a0090e19eff"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
